错误处理和时间函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误处理和时间函数相关的知识,希望对你有一定的参考价值。

错误处理和时间函数

一、错误处理

a) 错误报告级别(重点)

1. 语法错误: error会给一个致命错误 终止程序继续执行

2. 运行时错误: notice warning 运行代码的时候错了  有错误提示,但是他们不会影响程序运行,但是结果不是我们想要的!

3. 逻辑错误: 逻辑出现了错误 最大的难点 就是不报错 不好排除

4. notice: 本身不是一个错误 只是一个提示  这个错误可以忽略不计

5. warning: 警告只要产生warning错误 程序的执行结果就不是我们想要的结果,这个错误必须要解决掉而且他不会终止程序继续进行

6. error:致命错误  必须排除

b) 调整错误报错级别:(重点)

  E_ERROR     1  致命的运行时错误(阻止代码执行)

     E_WARNING   2  运行时警告

 E_NOTICE     8  运行时注意

E_ALL      所有的错误哦 警告的注意信息

c) 自定义错误处理

1. 屏蔽错误

1. 系统函数(重点重点重点)(推荐使用下面内容)

 ini_set() 设置php.ini中的配置项

 第一个参数 要设置php.ini的配置项

第二个参数  要设置php.ini的配置项的值

 ini_get() 获取php.ini中的配置项的值

一个参数  要获取php.ini中配置项

返回值 1 或者0  如果是display_errors配置项1代表不屏蔽错误 0 代表屏蔽错误

error_reporting()  设置错误报告级别

参数 E_ALL E_ERROR ^ E_WARNING ^  E_NOTICE ^

2. 手动屏蔽错误

如果你要使用手动屏蔽错误 定修改之后进行重启服务

修改php.ini 找到display_errors 将里面的值改为off就是屏蔽错误

; Default Value: On

; Development Value: On

; Production Value: Off

; http://php.net/display-errors

display_errors = off

或者

修改php.ini 找到error_reporting 将值修改为E_ALL &~E_NOTICE &~E_WARNING

; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

; Development Value: E_ALL

; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT

; http://php.net/error-reporting

error_reporting = E_ALL

 

2. 修改错误位置

error_log() (重点重点重点)

三个参数

第一个参数 错误信息

第二个参数 3         以字符串形式存储

第三个参数 保存的文件

 

切记各位如果你修改php.ini 一定要重新启动你的wamp

 

自定义错误日志(重点)

error_log() 写入wamp下面的php日志中

; Log errors to specified file. PHP‘s default behavior is to leave this value

; empty.

; http://php.net/error-log

; Example:

//开启下面内容写入到php日志中

error_log ="c:/wamp/logs/php_error.log"

; Log errors to syslog (Event Log on Windows).

//开启下面内容写入到windows系统日志

;error_log = syslog

d) 以下几种情况可以考虑自定义错误处理

1. 可以记下错误信息,及时发现一些生产环境出现的问题

2. 可以屏蔽错误

3. 可以控制错误的输出

4. 可以作为调试工具

e) trigger_error() 返回notice错误样式 (重点)

参数1 错误信息

时间函数

一、现实中我们表示时间

20171031

2017/10/31

2017.10.31

2017-10-31

20171031日  上午84413

外国人

10/31/2017

中国古代:

 寅年寅月寅时出生     唐伯虎   

世界人民表示时间的方式不一样  存储不方便,计算起来也不方便  不同时间的表示影响团结呀  不利于沟通呀

在计算机中统一时间的方法是使用unix 时间戳

1. 什么是时间戳

197011000秒(格林威治时间)开始到指定时间点的秒数就是时间戳   时间戳属于整型 2147483647

2. php的时间戳是从1970年开始最大表示到2038127

3. 时间模块,以时间函数的学习为主

 

二、时间函数(重点重点重点重点重点重点)

1. time() 获取当前时间戳

2. date() 格式化当前时间戳

 格式化: 转换为能看懂的格式

参数1: 要转换的格式的格式

Y  代表四位数字的年份

m  代表两位数字的月份  有前导零

d   代表天数    有前导零 01-31

H  代表小时  24小时格式  00-23

i   代表分钟  00~59

s   代表秒数 00 ~59

参数2:可选参数 如果没有设置时间戳,表示格式化当前时间戳

如果设置时间戳 表示格式化指定时间戳

3. mktime() 返回一个指定时间的时间戳

参数: 时 分 秒 月 日 年

注意: 参数可以从右向左一次省略,省略的时间会被计算当前时间  他可以自动验证时间

 

三、修改时区(重点重点重点)

date_default_timezone_set() 函数来设置时区

参数: 修改的时区地址

     PRC  People‘s Republic of China  中华人民共和国

   大洲/城市

Asia/ShangHai

Asia/ChongQing

Asia/Hong_Kong

date_default_timezone_get() 函数来获取时区

 

可以修改php.ini来修改时区

打开php.ini ->查找date.timezone 将里面的值改为 date.timezone=Asia/ShangHai 或者 PRC

修改完成之后重启服务

 

四、返回当前unix时间戳和微秒数

microtime()  

参数 可选参数  如果设置为true 表示返回一个浮点型的时间戳+ 微秒数

  默认为false 返回字符串类型 微秒数和时间戳

 

五、将任何英文文本的日期时间描述解析为unix时间戳

strtotime();  

 

六、date的格式参数

1. a ---- am或者pm

2. A ----   AM或者PM

3. d ----   天数  0补全

4. D----    星期几  三个英文字母

5. F----     月份    英文全名

6. h----     12进制  01 -12

7. H--      24进制  00 -23

8. g--     12小时进制  1-12

9. G---     24小时进制 0-23

10. i --      分钟  00 -59

11. j---      天数 没有0补全

12. l---       星期几  英文全名

13. m---    月份   01-12

14. n---      月份  1-12

15. M  月份  三个英文

16. s--        00 -59

17. S--      自尾加英文序数  二个英文字母  th nd

18. t---       指定月份天数    28-31

19. U---    总秒数

20. w--    数字型星期几   0 星期日    6 星期六

21. Y---          四位数字

22. y---          二位数字

23. z---      一年中的第几天

七、getdate() 获取当前时间的日期详细信息  它是以数组的形式返回


以上是关于错误处理和时间函数的主要内容,如果未能解决你的问题,请参考以下文章

一些简单的错误处理函数

设定错误和异常处理的三个函数(第二篇)

Python - - 函数 - - 异常处理

Swift学习笔记-错误处理和泛型

Scala函数式编程 函数式的错误处理

PHP:自定义错误处理程序 - 处理解析和致命错误