您的位置:首页 > 编程语言 > PHP开发

php笔记(6)——时间与日期

2016-05-29 13:57 423 查看
获取当前时间戳

获取当前日期

取得日期的Unix时间戳

将格式化的日期字符串转换为Unix时间戳

格式化格林威治GMT标准时间

获取当前时间戳

$time = time();

echo $time;//1396193923,这个数字表示从1970年1月1日 00:00:00 到我输出这个脚本时经历了1396193923秒


获取当前日期

//date函数,第二个参数取默认值的情况
echo date("Y-m-d");//2014-03-30

//date函数,第二个参数有值的情况
echo date("Y-m-d",'1396193923');//2014-03-30,1396193923表示2014-03-30的unix时间戳


取得日期的Unix时间戳

UNIX 时间戳(英文叫做:timestamp)是 PHP 中关于时间与日期的一个很重要的概念,它表示从 1970年1月1日 00:00:00 到当前时间的秒数之和。

PHP提供了内置函数strtotime实现功能:获取某个日期的时间戳,或获取某个时间的时间戳。例如:

echo strtotime('2014-04-29');//1398700800,这个数字表示从1970年1月1日 00:00:00 到2014年4月29号经历了1398700800秒

echo strtotime('2014-04-29 00:00:01');//1398700801,这个数字表示从1970年1月1日 00:00:00 到2014-04-29 00:00:01时经历了1398700801秒


大家发现上面的规律了吗,其实strtotime(‘2014-04-29’)相当于strtotime(‘2014-04-29 00:00:00’)

将格式化的日期字符串转换为Unix时间戳

strtotime函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳。

函数说明:strtotime(要解析的时间字符串, 计算返回值的时间戳【默认是当前的时间,可选】)

返回值:成功则返回时间戳,否则返回 FALSE

比如

echo strtotime("now");//相当于将英文单词now直接等于现在的日期和时间,并把这个日期时间转化为unix时间戳。这个效果跟echo time();一样。

echo strtotime("+1 seconds");//相当于将现在的日期和时间加上了1秒,并把这个日期时间转化为unix时间戳。这个效果跟echo time()+1;一样。

echo strtotime("+1 day");//相当于将现在的日期和时间加上了1天。

echo strtotime("+1 week");//相当于将现在的日期和时间加上了1周。

echo strtotime("+1 week 3 days 7 hours 5 seconds");//相当于将现在的日期和时间加上了1周3天7小时5秒。


格式化格林威治(GMT)标准时间

gmdate 函数能格式化一个GMT的日期和时间,返回的是格林威治标准时(GMT)。

举个例子,我们现在所在的中国时区是东八区,领先格林威治时间8个小时,有时候也叫GMT+8,那么服务器运行以下脚本返回的时间应该是这样的:

当前时间假定是2014-05-01 15:15:22

echo date('Y-m-d H:i:s', time()); //输出为:2014-05-01 15:15:22

echo gmdate('Y-m-d H:i:s', time()); //输出为:2014-05-01 07:15:22 因为格林威治时间是现在中国时区的时间减去8个小时,所以相对于现在时间要少8个小时
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php