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

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

WBOY
Freigeben: 2016-06-23 14:03:25
Original
935 Leute haben es durchsucht

相同的两行代码,

<?phpecho $ts='2013-01-01 11:11:11';echo "<br>";echo strtotime($ts);?>
Nach dem Login kopieren


在linux服务器上运行,结果是这个:
2013-01-01 11:11:111357009871000
Nach dem Login kopieren

但是在我本机上运行,时间戳却是另外一个,这是怎么回事呢?
服务器上的时区设定为"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);?>
Nach dem Login kopieren
Nach dem Login kopieren


在linux 服务器上运行结果:
2013-01-01 11:11:1113570098710001357<strong>0350</strong>71000
Nach dem Login kopieren


在我自己本机上运行结果却不一样:
2013-01-01 11:11:1113570098710001357<strong>0386</strong>71000
Nach dem Login kopieren


求解啊。。。

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

<?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);?>
Nach dem Login kopieren
Nach dem Login kopieren


在linux 服务器上运行结果:
2013-01-01 11:11:1113570098710001357035071000
Nach dem Login kopieren


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

求解。。

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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage