javascript - 时区转换

标签 javascript date timezone momentjs

我的开始和结束日期如下,

开始日期:“2015-02-19T00:00:00-08:00”

结束日期:“2015-02-19T17:00:00-08:00”

如您所见,日期格式为太平洋标准时间,因此日期在太平洋标准时间时区内没有问题,我使用的代码片段如下所示,

moment(StartDate).format("MMM Do");

但是当我在 IST [印度标准时间] 中查看同一页面时,它显示如下,

开始日期:“2 月 19 日” 结束日期:“2 月 20 日”

请帮我解决这个问题,让我知道我是否遗漏了什么。提前致谢。

最佳答案

这些是您的原始值:

Start Date: "2015-02-19T00:00:00-08:00"
End Date:   "2015-02-19T17:00:00-08:00"

这些是 UTC 中的等效值:

Start Date: "2015-02-19T08:00:00+00:00"
End Date:   "2015-02-20T01:00:00+00:00"

这些是印度标准时间的等效值:

Start Date: "2015-02-19T13:30:00+05:30"
End Date:   "2015-02-20T06:30:00+05:30"

调整时区时间时,这是正常的预期行为。地球上的两个不同位置不一定始终遵循相同的日历日期。

有关时区的更多信息,我建议使用以下资源:

关于 moment.js,如果您只是说您希望保留原始值(无论用户的时区如何),那么请使用 parseZone功能。

moment.parseZone(StartDate).format("MMM Do");

关于javascript - 时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28702276/

相关文章:

java - 如何获取以月和日为单位的日期

Java时间戳转php时间戳

python - 为什么 datetime.time 没有时区?

php - Javascript 确认框与 php

javascript - 否定分配给新变量的解构值

javascript - AJAX查询后格式化字段

java - 如何使用 Java SimpleDateFormat 正确格式化异常日期字符串?

javascript - setUTCminutes 与 setMinutes 之间的区别

MySQL 的 At 时区转换

javascript - 在选择下拉列表中选择多个选项