目前,我有以下代码:

var databaseTimeZoneMS = -240 * 60000;

var time = ('' + date_str).replace(/-/g,"/").replace(/[TZ]/g," "),
    dt = new Date,
    seconds = ((dt - new Date(time) + ((dt.getTimezoneOffset() * 60000) + databaseTimeZoneMS)) / 1000),


但是,如果夏令时无效,则DatabaseTimeZoneMS应该为-300 *60000。如何检查夏令时?这甚至是解决这个问题的正确方法吗?看起来很凌乱和优雅。

最佳答案

您可能(肯定)应该确保服务器端代码以某种方式将其实际的当前时区偏移量存储到每个页面上。有了这些,您就可以弄清楚客户端和数据库服务器之间的区别。

但是,这类事情总是很脆弱,因此,如果您确保所有时间的通信都是以UTC术语进行的,那么情况可能会更好。

关于javascript - 在Javascript中转换时区时如何考虑夏令时?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5358233/

10-12 22:47