【问题标题】:Proper way to convert javascript Date timezone [duplicate]转换javascript日期时区的正确方法[重复]
【发布时间】:2013-12-20 02:05:10
【问题描述】:

我正在使用以以下格式返回时间值的 API:

2013:02:27T06:39:25

请注意缺少任何时区标识符。

来自 API 文档:

https://partner-api.groupon.com/ledger

"Transaction timestamp of the ledger entry in the affiliate's time-zone.. The format is YYYY-MM-DDThh:mm:ss.. Example 2013:02:27T06:39:25"

API 响应时区显然是 EST(附属公司的时区)。从中获取 UTC 时区值以存储在 MongoDB 数据库中的最佳方法是什么。

【问题讨论】:

标签: javascript node.js api mongodb date


【解决方案1】:

格式为 YYYY-MM-DDThh:mm:ss.. 示例 2013:02:27T06:39:25"

这个documentation example 似乎有一个错误,因为它与建议的格式不匹配(2013:02:27T06:39:25 应该是2013-02-27T06:39:25)。

该页面后面的示例响应确实符合预期格式:

"orderDate": "2012-11-21T04:57:03"

我建议使用moment-timezone——它有一个moment.tz() constructor,它将解析日期字符串并设置预期的时区:

> var moment = require('moment-timezone');
> var orderDate = moment.tz("2012-11-21T04:57:03", "America/New_York")

> orderDate.toString()
'Wed Nov 21 2012 04:57:03 GMT-0500'

> orderDate.toISOString()
'2012-11-20T17:57:03.000Z'

【讨论】:

    猜你喜欢
    • 2013-10-22
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 2017-07-28
    • 1970-01-01
    相关资源
    最近更新 更多