我需要创建ISO-8601日期。有了我正在使用的时刻
时刻(my_date).toISOString()创建一个ISO日期,结果类似于:
2015-03-17T15:12:38.076Z
我需要将此日期发送到API,该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")
答案 0 :(得分:1)
你可以使用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
返回?