【发布时间】:2016-09-01 15:37:03
【问题描述】:
我有一个类似“Thu Sep 01 2016 00:00:00 GMT+0530 (IST)”的日期,我需要将其作为 ISO-8601 UTC 时间发送到服务器。我试过了:
moment(mydate).toISOString()
moment.utc(mydate).toISOString()
moment(mydate).utcOffset("+00:00").toISOString()
但我得到的结果是
2016-08-31T18:30:00.000Z
这比我预定的时间晚了 1 天。那么我该怎么做才能让 moment 忽略我的本地时区并将其视为 UTC?
编辑: 预期的输出是
2016-09-01T18:30:00.000Z
不,初始输入不是字符串,而是 javascript “new Date()” 值。
【问题讨论】:
-
那是因为它在 UTC 配对期间应用了 GMT 偏移量。您需要重写您声明为 UTC 的日期吗?那么字符串是否将 GMT+0530 等部分替换为 UTC?还是我不明白你想在这里完成什么?
-
我认为您想要的是在解析日期时忽略偏移字段。试试这篇博文:maggiepint.com/2016/05/14/moment-js-shows-the-wrong-date
-
请澄清 - 输入是
Date对象,在登录到控制台或调用.toString()时仅具有该字符串表示形式?或者输入实际上是String?另外,您能否编辑您的问题以显示您想要的预期输出?
标签: momentjs