javascript - 在初始化期间创建具有不同时区的新 JavaScript 日期对象

标签 javascript date datetime calendar momentjs

<分区>

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

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

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

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

例如,用户选择了“美国/纽约”时区,因此日历页面中的所有日期都将显示在该时区。

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

如果我们使用 new Date()(假设浏览器处于不同的时区,例如“Asia/Kolkata”),那么将其转换为 “America/New_york” 将不会得到“5:00pm”该时区,相反,它将在该时区获得相应的“05:00 pm IST”时间,该时间将具有不同的小时和分钟值。

任何建议都会有帮助!

谢谢

最佳答案

简短的回答是你不能。

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

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

关于javascript - 在初始化期间创建具有不同时区的新 JavaScript 日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20913095/

相关文章:

javascript - Uploadify - HTML5 版本 文件扩展名不起作用?

AngularJs 指令格式化日期

c - 打印给定月份和年份的月历

php - JS 日期时间到 PHP 的转换

JavaScript:了解图像何时完全加载

javascript - 如何让 JavaScript 延迟,然后刷新页面

mysql - where 子句中的 SQL 日期比较未按预期工作

python - 使用 to_datetime 转换日期

javascript - 使用 d3 和多个对 Angular 画笔创建雷达图

javascript - 第一个日期是第二个日期的 minDate