求解:echo strtotime('2013-01-01 11:11:11')不同机器结果不同
";echo strtotime($ts);?>
在linux服务器上运行,结果是这个:
2013-01-01 11:11:111357009871000
但是在我本机上运行,时间戳却是另外一个,这是怎么回事呢?
服务器上的时区设定为"Asia/Chongqing",在linux下用date输出的时间也是正确的,奇怪了
回复讨论(解决方案)
你应该分别贴出两个机器上的运行结果
重新发一下我的问题
相同的代码
";echo (strtotime($st) * 1000);echo "
";echo $ts=(strtotime($st) * 1000) - (strtotime('01-01-1970 00:00:00') * 1000);?>
在linux 服务器上运行结果:
2013-01-01 11:11:1113570098710001357035071000
在我自己本机上运行结果却不一样:
2013-01-01 11:11:1113570098710001357038671000
求解啊。。。
重新发一下我的问题
相同的代码
";echo (strtotime($st) * 1000);echo "
";echo $ts=(strtotime($st) * 1000) - (strtotime('01-01-1970 00:00:00') * 1000);?>
在linux 服务器上运行结果:
2013-01-01 11:11:1113570098710001357035071000
在我自己本机上运行结果却不一样:(winxp+wamp2.1)
2013-01-01 11:11:1113570098710001357038671000
求解。。
两服务器的时区不同?
另外,为啥要乘以1000?这个date,在PHP下是秒数,js是毫秒数。
两服务器的时区不同?
另外,为啥要乘以1000?这个date,在PHP下是秒数,js是毫秒数。
时区都一样的,*1000是为了转成js的时间戳
echo date("Y-m-d H:i:s",1357009871);
echo date("Y-m-d H:i:s",1357038671);
2013-01-01 03:11:11
2013-01-01 11:11:11
差了八个小时,肯定有一个的时区设置有问题。
引用 4 楼 LuciferStar 的回复:两服务器的时区不同?
另外,为啥要乘以1000?这个date,在PHP下是秒数,js是毫秒数。
时区都一样的,*1000是为了转成js的时间戳
3600秒,不难想象
echo date("Y-m-d H:i:s",1357009871);
echo date("Y-m-d H:i:s",1357038671);
2013-01-01 03:11:11
2013-01-01 11:11:11
差了八个小时,肯定有一个的时区设置有问题。
引用 5 楼 r9000_com 的回复:引用 4 楼 LuciferStar ……
这个时区
3600秒,不难想象
是相差了3600秒,但是不知道是什么原因造成的?
echo date("Y-m-d H:i:s",1357009871);
echo date("Y-m-d H:i:s",1357038671);
2013-01-01 03:11:11
2013-01-01 11:11:11
差了八个小时,肯定有一个的时区设置有问题。
引用 5 楼 r9000_com 的回复:引用 4 楼 LuciferStar ……
要比较的应该是这两个,因为是这在两台机器上不同的结果:
1357038671000
1357035071000
已找到答案,原因是在php.ini中把时区设为Asia/Chongqing与Asia/Shanghai,这样时间会相差一小时,我把php.ini中的时区改为Asia/Shanghai,问题解决,感谢各位回答
上一篇: PHP5的XML新特性
下一篇: 通过gd库为图片添加透明水印