作者:谁会心如刀割_590 | 来源:互联网 | 2023-08-12 13:01
PHP.ini的默认[DATE]字段内容是这样的:[Date];Definesthedefaulttimezoneusedbythedatefunctions;dat
PHP.ini的默认[DATE]字段内容是这样的:
[Date]
; Defines the default timezone used by the date functions
;date.timezone =
字段定义没有为date的timezone属性定义值,PHP系统使用默认的缺省时区定义,一般是UTC,该参数该定义将影响PHP date/time函数的执行,一般是函数getdate()和date()这两个函数的执行效果,我们通过打印getdate()函数可以发现实际的[0]项是不随时区变化而变化的,都是UNIX标准时间(距离1970年1月1日零时开始的秒数),只是显示上做了时区转换而已。
另外date还有三个未列出的字段:
date.default_latitude 默认的纬度
date.default_longitude 默认的经度
date.sunrise_zenith 日升时间
date.sunset_zenith 日落时间
有时候我们发现PHP打印出来的时间不正确,跟实际的电脑显示相差八个小时,这就是因为PHP.INI的配置问题引起的。只需要修改PHP.INI 的[DATE]
date.timezone ="Etc/GMT-8"//否则出来时间相差早八个小时
另外关于PHP的date/time函数还有以下四个也比较重要:
date_timezone_get ()和date_timezone_set()函数
这两个函数分别是对默认时区进行查询和设置,date_timezone_set()设置只是临时起效的,比如在多时区时间输出时候就很有用,如果需要永久更改时区时间显示,则需要在PHP.INI里头设置DATE字段为您对应的时区。
date_default_timezone_get()函数
可以查看当前PHP系统为各PHP日期时间函数使用的默认时区列表。
date_default_timezone_set()函数
由于在PHP 5.1以后date/time函数被重写了,所以可能会受到E_NOTICE的错误警告信息,如果设置的时区参数为系统时区参数或PHP.INI文件中设置的时区参数,则将会返回E_WARNING 警告。