Javascript 使用moment.js的字符串值

Javascript 使用moment.js的字符串值,javascript,angularjs,momentjs,Javascript,Angularjs,Momentjs,我的JS: 我想输出我的值示例:'12/12/2014',但在控制台中我有: Moment {_isAMomentObject: true, _i: "17/12/2014", _f: "MM-DD-YYYY", _isUTC: false, _pf: Object…} 为什么?如中所述,您应该使用.format()函数 像这样的东西应该可以做到: var dateText='12-12-2014'; var dateObject = moment(dateText,'MM-DD-YYYY')

我的JS:

我想输出我的值示例:
'12/12/2014'
,但在控制台中我有:

Moment {_isAMomentObject: true, _i: "17/12/2014", _f: "MM-DD-YYYY", _isUTC: false, _pf: Object…}
为什么?

如中所述,您应该使用
.format()
函数

像这样的东西应该可以做到:

var dateText='12-12-2014';
var dateObject = moment(dateText,'MM-DD-YYYY');
console.log(dateObject.format('DD/MM/YYYY'));
第二行作为参数提供的格式就是解析格式

我更新了代码,不管你是否使用angular,都不会改变任何事情。我想你不明白的是js从字符串日期生成对象的那一刻。然后,可以根据需要格式化此日期对象


但是按照公认的答案进行操作时,会抛出一个弃用警告

然而,现在这似乎并没有发出警告。不确定结果值是否为您可能需要的值

> moment("12-25-1995", ["MM-DD-YYYY", "YYYY-MM-DD"]).format('MM-DD-YYYY')
> "12-25-1995"

如果您有
Date
对象,请将其转换为字符串(),然后应用.format()

为什么希望
dateText
将是字符串。使用给定的格式从字符串中创建一个时刻日期对象。因为
\u i
显示了您的
范围。mtxMaxdate
17/12/2014
,但您告诉矩,您传递的日期必须采用
MM-DD-yyyyy
格式,因此您的日期无效。我在控制台中有此dateText.format('MM-DD-yyyyyy')-“无效日期”啊。那么scope.mtxMaxdate的格式可能不正确。如果你把它记录下来,上面写着什么?@Mercer根据你的评论更新了帖子
> moment("12-25-1995", ["MM-DD-YYYY", "YYYY-MM-DD"]).format('MM-DD-YYYY')
> "12-25-1995"