时代与PHP和mysql中的Unix时间戳转换无法正常工作

时间:2016-09-19 09:07:13

标签: php mysql google-api

1473424835535

http://www.epochconverter.com/

使用它给出确切的日期

结果:GMT:2016年9月9日星期五12:40:35.535 GMT

但在PHP中

$returnValue = date('d.m.Y H:i:s', 1473424835535);

Result : 22.12.48660 05:32:15

在mysql中尝试了

select FROM_UNIXTIME('1473424835535', '%Y %D %M %h:%i:%s %x') 

不工作

注意: 此记录是从google api迁移的

如何纠正此问题或任何方法来纠正此问题?任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

您的时间戳似乎是毫秒,而php和MySQL时间戳实现都基于。解决方案:将时间戳除以1000:

FROM_UNIXTIME(1473424835535/1000,'%Y-%M-%d %H:%i:%s %f') 

答案 1 :(得分:0)

如您所链接的网站所述:

  

假设此时间戳以毫秒为单位

PHP和MySQL手册指出,他们所采用的时间戳是自Unix时代以来的#34;#34;。

确定您是否具有手册定义的有效时间戳的快速方法是计算位数。上述网站也列出了一个共同的时间戳,您可以将其用于比较。

答案 2 :(得分:0)

FROM_UNIXTIME(1473424835535/1000,'%Y-%M-%d%H:%i:%s%f')是os从Mysql中选择的方式和

正确的PHP方式是回音日期(' d.m.Y H:i:s',(int)1473424835535/1000);

感谢您Mark BakerShadow