PHP:strtotime崇敬返回奇怪的日期?

时间:2015-08-11 17:17:06

标签: javascript php jquery mysql datetime

我使用php strtotime和mysql datetime进行特定日期的简单倒计时。

我也使用jQuery倒计时。

我的jquery strtotime时间是这样的:1443661380000

如果我在没有任何php的情况下运行我的jquery倒计时,它就可以正常工作并正确倒计时。

然而,当我使用mysql datetime和php strtotime时:$long = strtotime("$fes_events_date");我的jquery倒计时停止工作。

所以我试图反转jquery strtotime 1443661380000所以我可以看看它看起来像我错过了我的php strtotime。

所以我这样做了:

    $hin = date("Y-m-d H:i:s", 1443661380000);
echo $hin;

并且输出的内容很奇怪,如下所示:

47717-10-22 18:00:00

所以我的问题是如何使用php strtotime转换我的datetime mysql所以我得到相同类型的输出以使我的jquery倒计时工作?

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

unix时间戳是date函数的第二个参数,是自1970年1月1日以来的秒数。

由于历史迷雾中丢失的原因,javascript时间戳是自unix时期以来的毫秒数。 PHP strToTime函数无法识别并且不能发挥其魔力。您需要手动将毫秒转换为秒。

$hin = date("Y-m-d H:i:s", (1443661380000/1000));
echo $hin;

答案 1 :(得分:2)

尝试改变,

$hin = date("Y-m-d H:i:s", 1443661380000);

$mil=1443661380000;
$seconds = $mil / 1000;
$hin = date("Y-m-d H:i:s", $seconds);

答案 2 :(得分:1)

知道测量UNIX / Epoch Time通常是以两种方式之一完成的,可以是几秒钟,也可以是January, 1 1970以来的毫秒。

在我看来,你有一个以毫秒为单位的时间,而你试图使用的功能就是把它转换成几秒钟,因此你的关系是1000倍。

尝试将时间延长1000,然后将其传递给转换器。

1000ms/1000 = 1s
1443661380000ms / 1000 = 144366138s

144366138s -> Date -> GMT: Thu, 01 Oct 2015 01:03:00