1

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

我发现Keith Wood 这个很棒的 javascript 倒计时

我正在使用另一篇 SO 帖子中的这段代码

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

4

1 回答 1

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"); ?>');

同样,我没有对此进行测试,但这就是我会做的。

Date.parse 的文档

PHP 日期() 函数

日期时间对象

于 2013-07-23T06:51:32.543 回答