你如何从bigcartel的服务器获取当前时间

How do you get the current time from bigcartel's server?

本文关键字:获取 时间 服务器 bigcartel      更新时间:2023-09-26

有没有办法从bigcartel的服务器获取当前日期和时间,无论是使用Liquid还是JavaScript?我正在我的商店中构建一些自定义功能,这些功能需要具有一致的(非客户端)时间源。我只需要在每次页面加载时访问它一次。

以下是我到目前为止尝试过的方法,基于另一个与日期相关的大卡特尔问题:

var currentDate = new Date({{ 'Today' | date: "%Y, %m, %d, %H, %M" }});
currentDate.setMonth(currentDate.getMonth() - 1);

这确实检索了今天的日期,但在我刷新页面时它不会持续更新。任何帮助将不胜感激。谢谢。

编辑

:每次我编辑/保存并重新加载特定页面后,或者如果在第一页加载后经过一定时间,Liquid 都会获得一个新的日期/时间(我还没有做足够的测试来确定确切的时间......也许2或3个小时...还是更多?

此外,卡住的日期/时间对于每个产品页面都是唯一的。例如,如果我在 9:30 加载产品页面 A,在 9:32 加载产品页面 B,它们都将卡在各自的时间。两个页面都从相同的代码呈现。

我以前从未使用过 Liquid,但我认为它应该在每次页面加载时从服务器检索新数据,类似于 PHP。我弄错了吗?

编辑2:它变得更加奇怪。有时我会在给定产品页面的 URL 末尾附加一个查询字符串(例如 ?comicID=225)。但是,如果我更改查询字符串中的数字(甚至只是输入随机垃圾),它将检索一个新的卡住日期。因此,似乎任何唯一的 URL 在首次加载时都会获得唯一的卡住日期!

我最终用 JavaScript 做了一个XMLHttpRequest(),从 HTTP 响应标头中获取当前时间,它似乎非常适合我的目的。这是我的工作代码:

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var currentDate = new Date(req.getResponseHeader('date'));