2015-02-24 55 views
1

我有如下的开始和结束日期,时区转换

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

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

正如你看到的日期格式是在PST所以日期为PST时区,我使用如下面的代码片段精细,

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

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

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

请帮我出这一点,让我知道是有什么我失踪。提前致谢。

+1

哪个IST?印度,爱尔兰,以色列? – 2015-02-24 17:28:18

回答

2

这些都是你的原始值:

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"); 
1

您可以用moment timezone

moment(StartDate).tz('America/Denver').format("MMM Do"); 

或任何其他城市在PST-区使之没有问题......

+1

丹佛是山区时间。 :) – 2015-02-25 04:12:53