我有一个时间戳,我使用momentjs进行格式化:
moment("2015-03-24T09:47:31.042Z").format("LLL Z")
"March 24, 2015 10:47 AM +01:00"
由于我们的应用程序的性质,我们setting a default timezone for momentjs会影响所有呈现的时刻:
moment.tz.setDefault("America/Los_Angeles")
moment("2015-03-24T09:47:31.042Z").format("LLL Z")
"March 24, 2015 2:47 AM -07:00"
到目前为止,太棒了。但是现在我想在应用程序的一个特定位置显示本地时间,但是当然会使用提供的默认时区:
moment().format("LLL Z")
"March 24, 2015 2:52 AM -07:00"
如何构建再次使用本地时区的时刻实例?
我尝试使用moment.tz(timestamp,null)
,但这只是使用GMT。
答案 0 :(得分:1)
感谢@Tanner在Getting the client's timezone in JavaScript的评论和答案中提出的建议,我能够弄清楚。
您可以使用utcOffset
设置片刻的UTC偏移。结合Date.getTimezoneOffset
,您可以再次以当地时间呈现时刻:
moment("2015-03-24T09:47:31.042Z")
.utcOffset(-new Date().getTimezoneOffset())
.format("LLL Z")
"March 24, 2015 10:47 AM +01:00"