Momentjs 将字符串转换为矩会给出错误的年份

Momentjs 将字符串转换为矩会给出错误的年份,momentjs,Momentjs,这是我在js中的代码: var x = "2017-1-2"; var y = moment(x, "yyyy-MM-DD") 当我在控制台中观看y时,就是这样: 正如你所看到的,日期和月份是正确的,但年份是错误的。为什么会发生这种情况以及如何解决?我使用该值通过ajax将其发送到服务器,但发送的年份不正确。使用大写字母yyy。这在报告中提到。另外,不要忘记,使用moment()的构造将把日期作为本地日期,然后将其转换为UTC。如果要将日期视为UTC,可以使用moment.UTC() 在我的

这是我在js中的代码:

var x = "2017-1-2";
var y = moment(x, "yyyy-MM-DD")
当我在控制台中观看y时,就是这样:


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

使用大写字母
yyy
。这在报告中提到。另外,不要忘记,使用
moment()
的构造将把日期作为本地日期,然后将其转换为UTC。如果要将日期视为UTC,可以使用
moment.UTC()

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

var x=“2017-1-2”;
变量y=力矩(x,“YYYY-MM-DD”)
控制台日志(y)

我以前从未玩过Moment.js,但是假设
Moment
是一个构造函数,你会不会使用
new
关键字?@JoshCrowe不,要创建一个新的Moment对象,你不需要新的关键字:)啊,这是一个带返回的函数,不是构造函数。明白了。