错误异常与日期和时间

错误和异常

  写程序,肯定会遇到的一个问题,就是报错!!
  排错方法
    1.解读错误信息:
        可以借助有道词典、金山词霸去翻译一下,当我们知道错误出在哪并且可以完整的解读报错信息时,你犯的错误会越来越少
    2.输出法调试:
        在你感觉有错误的地方,输出一下,调试一下,问题也许就能解决
    3.断点调试发:(die、exit、注释)
        在你感觉有错的地方,使用die或exit或将后面代码注释的方法,中断一下代码的执行
        注:使用trigger_error()函数可替换die()或exit()不会终止脚本而是生成一个用户警告来代替,使程序更具有灵活性。

  错误类型
    1.语法错误:它是比较容易排除的,直接通过报错信息,找到对应行数即可解决问题
        注:语法错误需要在报错行上下看一下,一般错误都在报错行上一行
    2.运行时的错误
        它相对来说也是比较容易解决的
    3.逻辑错误
        这种错误是最难排除的,
        注:编写程序时可以没写一段代码运行调试一下以避免各种类型错误

  错误的级别
    1. E_ERROR 致命级别
        致命的运行时错误(会阻止脚本的继续执行,但不影响出错前面的运行)
    2. E_WARNING 警告级别
        运行时警告(非致命的错误,仅警告的代码不会执行)
    3. E_NOTICE 提示错误
        运行时注意消息(可能是或者可能不是一个问题,不会影响程序运行)
    4. E_ALL 所有的错误和提示(所有级别的错误、警告和注意)

  调整错误级别
    1> 找到 php.ini 文件,搜索 error_reporting = E_ALL & ~E_NOTICE
        &:并且 |:或者 ~:除了
        注意: 配置文件修改的时候,一定要做备份!!!!!!!!!!
        修改完配置文件之后,需要重启服务器
    2>在当前文件里面将错误信息关闭
        error_reporting(); //在你想要关闭错误的文件当中去写(推荐使用)
        display_errors = On //显示所有错误(Off 屏蔽所有错误)
        注意:在配置文件中搜索 display_errors 将 On 改成 Off 即可关闭所有级别的错误

        ini_get(); //获取本地配置的设置信息 ini_get("配置名");

        ini_set(); //在本地进行配置信息设置 ini_set("配置名","配置值");

        ini_get_all(); //获取我们所有可以从页面中设置的配置信息

        global:php.ini配置文件中的设置信息

        local: 在本地页面中的设置信息
    3>php当中的日志
        log_errors:开启或者关闭错误日志记录(On、Off)

        error_log:存放错误日志的路径

        上线步骤:   1. error_reporting = E_ALL 显示所有级别的错误
              2. display_errors = Off 不在页面上显示所有错误
              3. log_errors = On 开启错误日志记录
              4. error_log = 路径 设置错误日志的存放路径

异常处理
  异常是在程序执行过程中出现的一个例外或者是一个事件,它中断了程序的正常运行,跳转到其他模块继续执行。无论是错误还是异常,都必须妥善处理,并作出相应的反映,希望不要丢失数据或者导致程序崩溃。

  1.异常处理的实现
    try{
        //可能出现异常的代码块,这里可以使用throw语句抛出异常
    }catch(ex1){
        //处理异常,也可以再次抛出异常
    }
  2.捕获多个异常
    在try代码块之后,必须至少跟一个catch代码块,也可以将多个catch代码块与一个try代码块进行关联实现多异常捕获。

日期和时间
  UNIX时间戳
      UNIX时间戳是从1970年1月1日零点(UTC/GMT的午夜)开始到当前时间所经历的秒数。
      函数time()获取当前时间戳 //获取的是秒数
      由于我们并不适应看秒数推算时间,可使用date()函数
代码:

1 date("Y-m-d H:i:s",time());

  将日期和时间转变成UNIX时间戳
      调用mktime()函数 mktime(时,分,秒,月,日,年)
  将英文文本的日期时间描述直接转变成UNIX时间戳
      调用strtotime()函数 strtotime(string)
代码:

1 $year=1992;
2 $month=06;
3 $day=02;
4 $birthday=mktime(0,0,0,$month,$day,$year);
5 $nowdate=time();
6 $ageunix=$nowdate-$birthday;
7 $age=floor($ageunix/(60*60*24*365));
8 echo "年龄:$age ";

  在PHP中获取时间
    time()获取当前UNIX时间戳
    getdate()确定当前时间
    gettimeofday()获取某一天的具体时间

  修改PHP默认时区
      1.当前页面设置
        date_default_timezone_set("PRC"); //设置我们当前时区是中华人民共和国时区

        date_default_timezone_get(); //获取当前时区信息

      2.配置文件设置
        date.timezone = "UTC"
        注:可以通过这种方式,将当前时区改为 PRC

时间: 2025-01-17 14:50:59

错误异常与日期和时间的相关文章

JDK8版本之日期和时间API详解

伴随lambda表达式.streams以及一系列小优化,Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API.Java处理日期.日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限.Java也意识到需要一个更好的 API来满足社区中已经习惯了使用JodaTime API的人们.全新API的众多好处之一就是,明确了日期时间概念,例如:瞬时(instant). 长

在Java 8中如何处理日期和时间

常有人问我学习一个新库的最好方式是什么?我的答案是在实际项目中使用它.项目中有很多真正的需求驱使开发者去发掘并学习新库.简单得说就是任务驱动学习探 索.这对Java 8新日期时间API也不例外.我创建了20个基于任务的实例来学习Java 8的新特性.从最简单创建当天的日期开始,然后创建时间及时区,接着模拟一个日期提醒应用中的任务--计算重要日期的到期天数,例如生日.纪念日.账单 日.保费到期日.信用卡过期日等.示例 1.在Java 8中获取今天的日期Java 8 中的 LocalDate 用于表

20 个案例教你在 Java 8 中如何处理日期和时间?

前言 前面一篇文章写了<SimpleDateFormat 如何安全的使用?>, 里面介绍了 SimpleDateFormat 如何处理日期/时间,以及如何保证线程安全,及其介绍了在 Java 8 中的处理时间/日期默认就线程安全的 DateTimeFormatter 类.那么 Java 8 中该怎么样处理生活中常见的一些日期/时间呢?比如:计算一周后的日期:计算一年前或一年后的日期:检查闰年等. 接下来创建了 20 个基于任务的实例来学习 Java 8 的新特性.从最简单创建当天的日期开始,然

java8中处理日期和时间

Java 8 中如何处理日期和时间 1. 在 Java 8 中获取今天的日期 Java 8 中的 LocalDate 用于表示当天日期.和 java.util.Date 不同,它只有日期,不包含时间.当你仅需要表示日期时就用这个类. LocalDate now = LocalDate.now(); System.out.println(now); //结果 2018-06-20 2. 在 Java 8 中获取年.月.日信息 LocalDate 类提供了获取年.月.日的快捷方法,其实例还包含很多其

前端学PHP之日期与时间

前面的话 在Web程序开发时,时间发挥着重要的作用,不仅在数据存储和显示时需要日期和时间的参与,好多功能模块的开发,时间通常都是至关重要的.网页静态化需要判断缓存时间.页面访问消耗的时间需要计算.根据不同的时间段提供不同的业务等都离不开时间.PHP为我们提供了强大的日期和时间处理功能,通过内置的时间和日期函数库,不仅能够得到PHP程序在运行时所在服务器中的日期和时间,还可以对它们进行任意检查和格式化,以及在不同格式之间进行转换等.本文将详细介绍PHP中的日期和时间 [注意]关于javascrip

《Javascript权威指南》13号学习笔记:使用日期和时间

一.创Date示例 1.Date类的方法和属性是非常不静,故,申请书Date属性和方法之前.必须创建Date类的实例. var date = new Date();  //以当前日期和时间创建实例. var date = new Date(value);  //value是必选项,假设是数值.value表示指定日期与1970.1.1午夜之间的毫秒数.假设是字符串.value则依照parse()方法中的规则进行解析. 全局的Date()函数完毕与new Date(value)同样的功能 var d

Oracle 日期和时间的存储于处理

本章内容包括: 处理并存储一个特定的日期和时间.DATE类型可以存储世纪.4位年份.月.日.时.分和秒 使用时间戳timestamp,时间戳可以存储一个特定的日期和时间.时间戳的优点是可以存储带有小数位的秒,还可以存储时区 使用时间间隔interval,时间间隔可以存储时间的长度.如1年零3个月等. 在Oracle数据库中,默认情况下,日期以DD-MON-YYYY格式保存到数据库中,其中: DD是一个两位的天数 MON是月份中的前三个字母,如FEB YYYY是一个4位的年份. 默认情况下数据库以

JAVA面试题解惑系列(七)——使用日期和时间

日期和时间,不仅在考试面试题.处理的问题.似乎没有哪个项目能够避开它们.我们经常在处理用户的出生年月日.注冊日期,订单的创建时间等属性时用到,由此可见其重要性. java.util.Date类 提到日期和时间,我想大家最先想到应该是java.util.Date类吧.Date类能够精确到毫秒数,这个毫秒数是相对于格林威治标准时间"1970-01-01 00:00:00.000 GMT"的差值.那么.什么是格林威治标准时间呢?要回答这个问题.我们须要先来了解一下世界时间标准方面的知识. 世

Python之日期与时间处理模块(date和datetime)

本节内容 前言 相关术语的解释 时间的表现形式 time模块 datetime模块 时间格式码 总结 前言 在开发工作中,我们经常需要用到日期与时间,如: 作为日志信息的内容输出 计算某个功能的执行时间 用日期命名一个日志文件的名称 记录或展示某文章的发布或修改时间 其他 Python中提供了多个用于对日期和时间进行操作的内置模块:time模块.datetime模块和calendar模块.其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库