Maison > développement back-end > tutoriel php > 求解:echo strtotime('2013-01-01 11:11:11')不同机器结果不同

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

WBOY
Libérer: 2016-06-23 14:03:25
original
936 Les gens l'ont consulté

相同的两行代码,

<?phpecho $ts='2013-01-01 11:11:11';echo "<br>";echo strtotime($ts);?>
Copier après la connexion


在linux服务器上运行,结果是这个:
2013-01-01 11:11:111357009871000
Copier après la connexion

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


在linux 服务器上运行结果:
2013-01-01 11:11:1113570098710001357<strong>0350</strong>71000
Copier après la connexion


在我自己本机上运行结果却不一样:
2013-01-01 11:11:1113570098710001357<strong>0386</strong>71000
Copier après la connexion


求解啊。。。

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

<?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);?>
Copier après la connexion
Copier après la connexion


在linux 服务器上运行结果:
2013-01-01 11:11:1113570098710001357035071000
Copier après la connexion


在我自己本机上运行结果却不一样:(winxp+wamp2.1)
2013-01-01 11:11:1113570098710001357038671000
Copier après la connexion

求解。。

两服务器的时区不同?
另外,为啥要乘以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
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal