微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 没有“z”的momentjs toISOString

我需要创建ISO-8601日期.随着我正在使用的时刻

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.如果你确实想要在时区之间进行转换,那么时区就是我建议的方式.

但不是moment().format();返回时间为2014-09-08T08:02:17-05:00?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐