不修改日期的时刻到ISOstring

Btd*_*dev 5 momentjs

我有一个像“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() 
Run Code Online (Sandbox Code Playgroud)

但我得到的结果是

2016-08-31T18:30:00.000Z
Run Code Online (Sandbox Code Playgroud)

这比我预定的时间晚了 1 天。那么我该怎么做才能让 moment 忽略我的本地时区并将其视为 UTC?

编辑:预期的输出是

2016-09-01T18:30:00.000Z
Run Code Online (Sandbox Code Playgroud)

不,初始输入不是字符串,而是 javascript“new Date()”值。

Mar*_*ira 0

我今天遇到同样的问题并找到解决方案。

这是解决方案:moment(date,moment.ISO_8601)

  var date = new Date();
  console.log("Original Date");
  console.log(date);
  console.log("After Moment Format");
  console.log(moment(date,moment.ISO_8601));
Run Code Online (Sandbox Code Playgroud)

测试执行:

测试执行

Moment 文档:MomentJs