PHP maketime在前一天给出22.00
我想用PHP和Javascript为给定的一天创建两个相等的时间戳,但有一点不同 2012年7月1日: PHPPHP maketime在前一天给出22.00,php,javascript,Php,Javascript,我想用PHP和Javascript为给定的一天创建两个相等的时间戳,但有一点不同 2012年7月1日: PHP $test = mktime(0,0,0,7,1,2012); gives 1341093600 JavaScript var d = Date.UTC(2012,6,1); var timestamp = d/1000; gives 1341100800 为什么会有2小时的差异?调用Date.UTC将创建一个时间戳,时间戳为2012-07-01 UTC的午夜 另一方面,除了
$test = mktime(0,0,0,7,1,2012); gives 1341093600
JavaScript
var d = Date.UTC(2012,6,1);
var timestamp = d/1000; gives 1341100800
为什么会有2小时的差异?调用
Date.UTC
将创建一个时间戳,时间戳为2012-07-01 UTC的午夜
另一方面,除了配置PHP使用的时区之外,将执行相同的操作
换句话说,您的服务器未设置为UTC
最简单的解决方案可能是:
还有一种方法,或者您可以将PHP的时区设置为UTC。我会这样做,但要用代码来做,您可以使用:
出于个人喜好,我避免使用mktime。在
strotime
和DateTime
之间,我很少发现mktime产生更干净、更可读代码的情况。mktime的兽性参数列表使它所在的任何一行看起来都非常可怕
$timestamp = strtotime('2012-07-01 UTC');
date_default_timezone_set('UTC');