将字符串转换为时刻会给出错误的一年

时间:2016-11-11 11:05:50

标签: momentjs

这是我在js中的代码:

var x = "2017-1-2";
var y = moment(x, "yyyy-MM-DD")

当我在控制台中观看y时,它就是这样:

enter image description here

正如你所看到的,_d有正确的日子和星期一,但错误的一年。为什么会发生这种情况以及如何解决?我使用该值通过ajax将其发送到服务器,并发送错误的年份。

1 个答案:

答案 0 :(得分:1)

请改用大写YYYY。它在docs中提到。另外,请不要忘记使用moment()进行构建会将日期视为本地日期,然后将其转换为UTC。如果您希望将日期视为UTC,则可以使用moment.utc()

在我的时区(GMT + 7)中,下面的代码会显示"2017-01-01T17:00:00.000Z"



var x = "2017-1-2";
var y = moment(x, "YYYY-MM-DD")
console.log(y);

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.16.0/moment.min.js"></script>
&#13;
&#13;
&#13;