这是我在js中的代码:
var x = "2017-1-2";
var y = moment(x, "yyyy-MM-DD")
当我在控制台中观看y时,它就是这样:
正如你所看到的,_d有正确的日子和星期一,但错误的一年。为什么会发生这种情况以及如何解决?我使用该值通过ajax将其发送到服务器,并发送错误的年份。
答案 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;