在初始化期间使用不同的时区创建新的JavaScript日期对象

Create New JavaScript Date Object With Different Timezone During Initialization

本问题已经有最佳答案,请猛点这里访问。

我已经看了很多,真的很多帖子找到了我的问题的解决方案,但我无法得到它,所以决定创建一个问题。

我的问题是我们如何在不同的时区实际创建一个新的javascript日期对象,而不是在本地时区

我知道我们可以创建本地日期对象并以多种方式将其转换为不同的时区,但我不想转换而是需要在特定时区创建。

这是我的问题的简单例子,

比如说,用户已选择时区"America / New_york",因此日历页面中的所有日期都将显示在该时区中。

现在,如果我们在"05:00 pm"创建一个活动,我们如何在"America / New_york"时区下午5点实际创建日期,

如果我们使用新的Date()(假设浏览器在不同的时区说"亚洲/加尔各答"),那么将其转换为"America / New_york"将不会在该时区得到"下午5:00",而是会得到相应的时间"05ST pm IST"在该时区将有不同的时间和时间。分钟价值。

任何建议都会有所帮助!

谢谢


简短的回答是你不能。

Date对象只是系统时间设置的访问者(因此它将使用本地计算机时区)。 然后,您可以通过使用getTimezoneOffset()减去本地时区或使用setUTCHours()强制时间来操纵日期。

请注意,moment.js是处理日期和时区的好选择:http://momentjs.com/