2013-02-21 89 views
1

任何人都可以请解释我这些时间戳的怪异行为吗? 有该时间戳转换为日期,这样的应用程序:PHP时间戳转换日期不工作

1184947071570 - 07-20-2007 11:57
1190394533377 - 09-21-2007 13:08

我无法访问该应用程序的源代码。但是我从数据库中的时间戳,当我使用PHP转换迄今为止,这是发生了什么:

1184947071570 - 20 April 1955 13:17:54
1190394533377 - 27 October 1991 14:39:45

我在PHP中使用此代码:

date("l, j F Y H:i:s", $timestamp) 

的日期是完全不同!我怎样才能得到正确的日期?

谢谢。

+2

有没有办法,任何人都知道是什么原因造成这种现象没有看到代码。 – Kermit 2013-02-21 14:54:29

+1

你确定这些时间戳绝对是标准的Unix时间戳吗?第一个指向一年中的一天39519. – 2013-02-21 14:56:09

+0

您的计算结果不正确TIME STAMP:1184947071570 DATE(M/D/Y @ h:m:s):06/24/19 @ 10:19 :美国东部时间下午30点 – 2013-02-21 14:56:13

回答

6

你有包括毫秒的时间戳。如果您将时间戳记除以1000,您将获得正确的时间。

echo date('l, j F Y H:i:s', 1184947071570/1000); 
+0

是的,它的工作原理!谢谢! – SnitramSD 2013-02-21 15:04:34

2

它们不是像UNIX时间戳那样的秒。

他们毫秒1000 devide并再试一次

0

我刚做了一些测试,你的db时间戳有一些额外的字符。

时间戳07-20-2007 11:571184947020