Home > Backend Development > PHP Tutorial > 求解:echo strtotime('2013-01-01 11:11:11')不同机器结果不同

求解:echo strtotime('2013-01-01 11:11:11')不同机器结果不同

WBOY
Release: 2016-06-23 14:03:25
Original
936 people have browsed it

相同的两行代码,

<?phpecho $ts='2013-01-01 11:11:11';echo "<br>";echo strtotime($ts);?>
Copy after login


在linux服务器上运行,结果是这个:
2013-01-01 11:11:111357009871000
Copy after login

但是在我本机上运行,时间戳却是另外一个,这是怎么回事呢?
服务器上的时区设定为"Asia/Chongqing",在linux下用date输出的时间也是正确的,奇怪了


回复讨论(解决方案)

你应该分别贴出两个机器上的运行结果

重新发一下我的问题
相同的代码

<?phpecho $st=date('2013-01-01 11:11:11');echo "<br>";echo (strtotime($st) * 1000);echo "<br>";echo $ts=(strtotime($st) * 1000) - (strtotime('01-01-1970 00:00:00') * 1000);?>
Copy after login
Copy after login


在linux 服务器上运行结果:
2013-01-01 11:11:1113570098710001357<strong>0350</strong>71000
Copy after login


在我自己本机上运行结果却不一样:
2013-01-01 11:11:1113570098710001357<strong>0386</strong>71000
Copy after login


求解啊。。。

重新发一下我的问题
相同的代码

<?phpecho $st=date('2013-01-01 11:11:11');echo "<br>";echo (strtotime($st) * 1000);echo "<br>";echo $ts=(strtotime($st) * 1000) - (strtotime('01-01-1970 00:00:00') * 1000);?>
Copy after login
Copy after login


在linux 服务器上运行结果:
2013-01-01 11:11:1113570098710001357035071000
Copy after login


在我自己本机上运行结果却不一样:(winxp+wamp2.1)
2013-01-01 11:11:1113570098710001357038671000
Copy after login

求解。。

两服务器的时区不同?
另外,为啥要乘以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,问题解决,感谢各位回答

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template