没有 "z" 的 momentjs toISOString
momentjs toISOString without the "z"
我需要创建 ISO-8601 日期。我使用的是 momentjs
moment(my_date).toISOString()创建ISO日期,结果类似这样:
2015-03-17T15:12:38.076Z
我需要将这个日期发送到 API,它希望日期有点不同(尽管它的文档说他们使用的是 ISO-8601):
2015-03-17T15:12:38.076-4:00
有没有办法使用 momentjs 或其他方式获得预期的格式?
编辑: 我找到了解决方案:
moment.tz(my_date, "America/Argentina/Buenos_Aires").format("YYYY-MM-DDTHH:mm:ss.SSSZ")
您可以使用 momentjs 时区:
http://momentjs.com/timezone/
var newYork = moment.tz("2014-06-01 12:00", "America/New_York");
var london = newYork.clone().tz("Europe/London");
newYork.format(); // 2014-06-01T12:00:00-04:00
london.format(); // 2014-06-01T17:00:00+01:00
z
指示 UTC 时间戳,API 预期与 UTC 的差异,因此 -4:00
。如果您确实想要在时区之间进行转换,我建议使用 momentjs 时区。
但是 moment().format();
returns 时间不是 2014-09-08T08:02:17-05:00
吗?
我需要创建 ISO-8601 日期。我使用的是 momentjs
moment(my_date).toISOString()创建ISO日期,结果类似这样:
2015-03-17T15:12:38.076Z
我需要将这个日期发送到 API,它希望日期有点不同(尽管它的文档说他们使用的是 ISO-8601):
2015-03-17T15:12:38.076-4:00
有没有办法使用 momentjs 或其他方式获得预期的格式?
编辑: 我找到了解决方案:
moment.tz(my_date, "America/Argentina/Buenos_Aires").format("YYYY-MM-DDTHH:mm:ss.SSSZ")
您可以使用 momentjs 时区: http://momentjs.com/timezone/
var newYork = moment.tz("2014-06-01 12:00", "America/New_York");
var london = newYork.clone().tz("Europe/London");
newYork.format(); // 2014-06-01T12:00:00-04:00
london.format(); // 2014-06-01T17:00:00+01:00
z
指示 UTC 时间戳,API 预期与 UTC 的差异,因此 -4:00
。如果您确实想要在时区之间进行转换,我建议使用 momentjs 时区。
但是 moment().format();
returns 时间不是 2014-09-08T08:02:17-05:00
吗?