JavaScript中特定时区的new Date()

new Date() for a specific timezone in JavaScript

本文关键字:Date new 定时区 JavaScript      更新时间:2023-09-26

我正在做一个项目,我只是想知道在JavaScript中是否可以为特定时区调用new Date()。当我说:

var test = new Date();

我调试后发现var测试=

Date {Fri Nov 07 2014 11:59:41 GMT-0500 (Eastern Standard Time)}

这很有道理,因为我在东部时区,现在是11:59。

我的问题是:有没有一种方法可以获得指定时区的Date对象,而不仅仅是您自己的本地系统时间

我有一个预订表,我在其中将会议开始时输入的时间与实际时间进行比较,现在是为了确保用户没有输入过去的时间,还是在距离当前时间2小时内的时间(每个实例都会弹出不同的错误验证消息)。

我唯一的问题是,填写表格的人可能在东部、中部、山区或太平洋地区。因此,如果一个位于东部时间的人填写了一份会议表格,其中包含客户在山地时间的开始时间,当我尝试比较时间时,new Date()只会给我我的本地时间,我希望它将输入的时间与山地时间进行比较,以进行检查和验证。

这有点令人困惑,但我只是想给你一点关于这个问题的应用程序的背景知识。如果有人需要进一步澄清,请随时询问。非常感谢您的帮助。

谢谢!

-Dave

Checkout moment-timezone.js,这使得在javascript中使用日期和时区变得更加容易。

首页上的例子展示了它的工作原理:

var newYork    = moment.tz("2014-06-01 12:00", "America/New_York");
var losAngeles = newYork.clone().tz("America/Los_Angeles");
var london     = newYork.clone().tz("Europe/London");
newYork.format();    // 2014-06-01T12:00:00-04:00
losAngeles.format(); // 2014-06-01T09:00:00-07:00
london.format();     // 2014-06-01T17:00:00+01:00