6

我正在使用pikaday日期选择器插件(通过angular 指令momentjs)并将值发送到服务器。不过,转换为 json 似乎会浪费一天的时间:

var d = myPikaObject.getDate();
console.log(d);              // Thu Apr 30 2015 00:00:00 GMT+0200 (SAST)
console.log(d.toJSON());     // 2015-04-29T22:00:00.000Z

我认为这是一个 momentjs 问题,但我不知道出了什么问题。

4

2 回答 2

5

这完全取决于您的日期格式。

当你刚刚打印 d 时,你有这个:

Thu Apr 30 2015 00:00:00 GMT+0200 (SAST)

这是格林威治标准时间 +2,因此当您打印 d.ToJson() 时,您损失了 2 个小时。所以你是前一天下午 22 点

于 2015-04-29T15:01:44.283 回答
3

如果您已经有时间使用momentjs,您可以尝试moment.utc()方法。文档说:

从 2.0.0 版开始,可以将语言环境键作为第三个参数传递给 moment() 和 moment.utc()

moment('2012 juillet', 'YYYY MMM', 'fr');
moment('2012 July',    'YYYY MMM', 'en');

您可以使用 utc() 方法做更多事情。

moment.utc();
moment.utc(Number);
moment.utc(Number[]);
moment.utc(String);
moment.utc(String, String);
moment.utc(String, String[]);
moment.utc(String, String, String);
moment.utc(Moment);
moment.utc(Date);
于 2015-04-29T15:08:55.643 回答