我想在我的页面上创建一个倒计时,每天结束。购买有一个发货截止日期,我们想要显示剩余的时间。所以需要有一个if语句来查看它是否超过了那个时间并且没有显示计数器,而是显示明天将发布的订单'格。
我找到了this great javascript countdown by Keith Wood。
我正在玩this code from another SO post
但由于它是一个发货截止日期,因此需要准确,我担心代码只处理浏览器的本地时间。我需要将它设置为太平洋时间下午12点。
答案 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"); ?>');
同样,我没有测试过这个,但这就是我要做的。