扫码关注官方订阅号
84669人学习
65727人学习
82984人学习
467778人学习
498837人学习
471966人学习
256484人学习
152542人学习
224170人学习
139536人学习
81804人学习
85022人学习
11944人学习
20001人学习
60816人学习
5487人学习
15007人学习
2150人学习
6980人学习
194925人学习
359900人学习
1142人学习
19058人学习
3206人学习
180550人学习
48569人学习
17603人学习
40936人学习
1049人学习
750人学习
32909人学习
我想获取时间戳,看到有两个方法mktime()和gmmktime(),一个是获取本地的时间戳,一个是UTC的时间戳,我打印出来后,时间戳是一样的,不是应该相差8个小时么,本地的时间戳是北京时间.有能够解释一下的么?
闭关修行中......
恕我孤陋寡闻,时间戳不都是UTC吗,格式化之后才得到本地时间吧。
看了一下,这两个函数的不同是对传入的参数的处理。mktime默认是本地时间,gmmktime默认是格林尼治时间(GMT)。
mktime
gmmktime
比如上面的其他回答的例子,mktime(1,50,15,4,15,2012)返回的是本地时间2012年4月15日1时50分15秒的时间戳,gmmktime(1,50,15,4,15,2012)返回的是GMT 2012年4月15日1时50分15秒的时间戳,所以自然结果不同。
mktime(1,50,15,4,15,2012)
gmmktime(1,50,15,4,15,2012)
本地时间的时区是通过php.ini里的date.timezone选项,或者调用date_default_timezone_set函数来设置。
php.ini
date.timezone
date_default_timezone_set
如果省略参数,默认都是当前时间,自然就一样了(就算你设置了时区,时间戳还是基于UTC的,所以还是一样)。
如果你只是想获取当前时间戳,建议用time函数。上面的两个函数主要是用于获取特定的本地时间或GMT对应的时间戳的。
time
是参数错误还是怎么的,我这边正常
<?php echo mktime(1,50,15,4,15,2012); echo '<br>'; echo gmmktime(1,50,15,4,15,2012);
本地PHP有设置东八区时间吗
http://www.cnblogs.com/mxw09/...
这个链接应该解释的很清楚了
<?php $ltime = mktime(0,0,0,1,1,1990); $gtime = gmmktime(0,0,0,1,1,1990);
传入具体的开始时间才对
不然默认传入之后会转化导致相同.
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号
精品班
技术支持
技术咨询
学习群
会员优惠
返回顶部
恕我孤陋寡闻,时间戳不都是UTC吗,格式化之后才得到本地时间吧。
看了一下,这两个函数的不同是对传入的参数的处理。
mktime
默认是本地时间,gmmktime
默认是格林尼治时间(GMT)。比如上面的其他回答的例子,
mktime(1,50,15,4,15,2012)
返回的是本地时间2012年4月15日1时50分15秒的时间戳,gmmktime(1,50,15,4,15,2012)
返回的是GMT 2012年4月15日1时50分15秒的时间戳,所以自然结果不同。本地时间的时区是通过
php.ini
里的date.timezone
选项,或者调用date_default_timezone_set
函数来设置。如果省略参数,默认都是当前时间,自然就一样了(就算你设置了时区,时间戳还是基于UTC的,所以还是一样)。
如果你只是想获取当前时间戳,建议用
time
函数。上面的两个函数主要是用于获取特定的本地时间或GMT对应的时间戳的。是参数错误还是怎么的,我这边正常
本地PHP有设置东八区时间吗
http://www.cnblogs.com/mxw09/...
这个链接应该解释的很清楚了
传入具体的开始时间才对
不然默认传入之后会转化导致相同.