【问题标题】:JavaScript change timezoneJavaScript 更改时区
【发布时间】:2016-08-30 05:26:24
【问题描述】:

您好,我正在使用 Twitter REST API 调用 home_timeline 以获取时间线。

但我发现它返回的对象有 created_at 和 GMT+0 时区,如何将时区调整为用户的本地时区,例如 GMT+8?

这是来自 Twitter API 的 GMT+0 原始数据:

Wed May 04 16:23:13 +0000 2016

【问题讨论】:

  • 日期对象没有时区,它们是 UTC。 getHour、getMinute* 等和 toSting 方法返回针对主机时区偏移调整的值。您可以通过将日期时间值调整所需的偏移量来显示特定时区的时间戳。

标签: javascript node.js mongodb twitter


【解决方案1】:

预期的输出格式是什么?

你可以试试:

var d = new Date('Wed May 04 16:23:13 +0000 2016');
var localeTime = d.toLocaleString();
console.log(localeTime);

如果您需要特定的输出格式,可以使用 http://momentjs.com/timezone/ 来更改时区和格式

【讨论】:

    【解决方案2】:

    我强烈推荐使用MomentJS timezone library

    此外,我建议不要使用 GMT+8 标签进行时移,而是使用例如“亚洲/上海”。我会节省几个小时来为你调试。

    所以,代码barebone look like

    let moment = require("moment-timezone");
    moment("Wed May 04 16:23:13 +0000 2016").tz("Asia/Shanghai").format('YYYYMMDD hh:mm:ss')
    

    输出类似于"20160505 12:23:13"

    谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-08
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 2017-02-13
      • 2020-08-04
      相关资源
      最近更新 更多