如何将计时器设置为每天太平洋标准时间下午12点结束?

时间:2013-07-22 05:07:05

标签: javascript jquery time timer countdown

我想在我的页面上创建一个倒计时,每天结束。购买有一个发货截止日期,我们想要显示剩余的时间。所以需要有一个if语句来查看它是否超过了那个时间并且没有显示计数器,而是显示明天将发布的订单'格。

我找到了this great javascript countdown by Keith Wood

我正在玩this code from another SO post

但由于它是一个发货截止日期,因此需要准确,我担心代码只处理浏览器的本地时间。我需要将它设置为太平洋时间下午12点。

1 个答案:

答案 0 :(得分:2)

您可以从服务器获取时间并使用JavaScript解析它。如果你正在使用PHP,你可以这样做:

var serverTime = Date.parse('<?= date("r"); ?>');

这将让PHP回显RFC2822格式的日期,JavaScript将解析它并返回Date对象。从这里,您可以继续使用其他解决方案。

我没有测试过这个,但关键是从服务器获取时间并用JavaScript解析(如果服务器不在正确的时区,你可以调整时间)。

更新:处理时区。

要考虑时区,可以在PHP中使用DateTime对象,如下所示:

$datetime = new DateTime();
$datetime->setTimezone('Pacific/Nauru');

然后像这样回复你的JavaScript:

var serverTime = Date.parse('<?= $datetime->format("r"); ?>');

同样,我没有测试过这个,但这就是我要做的。

Documentation for Date.parse

PHP date() function

DateTime object