码迷,mamicode.com
首页 > Web开发 > 详细

PHP中日期和时间函数简介

时间:2016-08-18 14:52:05      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:时间   日期   格林尼治   设置   

PHP中日期和时间相关函数简介

一、UNIX时间戳

在当前大多数的UNIX系统中,保存当前日期和时间的方法是:保存格林尼治标准时间从1970年1月1日零点起到当前时刻的秒数,以32为整列表示。1970年1月1日零点也称为UNIX纪元。在Windows系统下也可以使用UNIX时间戳,简称时间戳,但如果时间在1970年以前或2038年以后,处理的时候可能会出现问题。

PHP在处理有些数据,特别是对数据库中时间类型的数据进行格式化时,经常需要先将时间类型的数据转化为UNIX时间戳再进行处理,另外,不同的数据库系统对时间类型的数据不能兼容转换,这时就需要将时间转化为UNIX时间戳,再对时间戳进行操作,这样就实现了不同数据库系统的跨平台性。

二、时间转化为时间戳

将用字符串表达的日期和时间转化为时间戳的形式,可以使用strtotime()函数。

int strtotime(string $time[,int $now])

$time是包含英语日期格式的字符串,$time值如果有毫秒数将被忽略。其值相对于$now参数给出的时间,如果没有给出则默认使用系统当前时间。

如果给定的年份是两位数字的形式,则年份值0~69表示2000~2069,70~100表示1970~2000.

另一个取得日期的UNIX时间戳的函数是mktime()函数,语法如下:

int mktime([int,$hour[,int $minute[,int $second[,$int $month[,int $day[,int $year]]]]]])

如果所有参数都为空,则默认为当前时间。

三、获取日期和时间

1.date()函数

date()函数的作用是将时间戳按照给定的格式转化为具体的日期和时间字符串。

string date(string $format[,int $timestamp])

说明:$format指定了转化后的日期和时间的格式,$timestamp是需要转化的时间戳,如果省略则使用本地当前时间,即默认值为time()函数的值。time()函数返回当前时间的时间戳。


2.getdate()函数

使用getdate()函数也可以获取日期和时间信息。

array getdate([int ,$timestamp])

说明:$timestamp是要转化的时间戳,如果不给出则使用当前时间。函数根据$timestamp返回一个包含日期和时间信息的数组。


四、其他日期和时间函数

1.日期和时间的计算

由于时间戳是32位整型数据,所以通过对时间戳进行加减法运算可计算两个时间的差值。

2.检查日期

checkdate()函数可以用于检查一个日期数据是否有效,语法如下:

bool checkdate(int $month,int $day,int $year)

说明:$year的值是从1到32767,$month的值从1到12,$day的值在给定的$month值所具有的天数范围内,其中闰年的情况也考虑在内。当给定的日期是有效的日期时,函数返回TRUE,否则返回FALSE,

3.设置时区

系统默认的是格林尼治标准时间,所以显示当前时间可能与本地时间会有差别,PHP中提供了可以修改时区的函数date_default_timezone_set().

bool date_default_timezone_set(string $timezone_identifier)

参数$timezone_identifier为要指定的时区,中国大陆可用的值是Asia/Chongqing,Asia/Shanghai,Asia/Urumqi。北京时间可以使用PRC。

另外,还可以通过修改PHP配置文件的方法修改默认时区:打开php.ini,找到date_timezone选项,将选项前面的分号“;”去掉,将选项的值设为要设置的默认时区的时区标志符。保存后重启Apache,系统默认的时区就设置完了。


本文出自 “游骑兵” 博客,请务必保留此出处http://ccnupxz.blog.51cto.com/8803964/1839762

PHP中日期和时间函数简介

标签:时间   日期   格林尼治   设置   

原文地址:http://ccnupxz.blog.51cto.com/8803964/1839762

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!