具有moment.js的字符串值

时间:2014-12-16 10:43:27

标签: javascript angularjs momentjs

我的JS:

...
var dateText='';
dateText = moment(scope.mtxMaxdate,'MM-DD-YYYY');
console.log(dateText);
...

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

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

为什么..?

2 个答案:

答案 0 :(得分:3)

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

这样的事情应该这样做:

var dateText='12-12-2014';
var dateObject = moment(dateText,'MM-DD-YYYY');
console.log(dateObject.format('DD/MM/YYYY'));

您在第二行作为参数提供的格式只是解析格式。

我更新了代码,你使用angular或不使用angular的事实并没有改变。我认为你不明白的是,时刻js会从字符串日期生成对象。然后,您可以根据需要格式化此日期对象。

Made a jsfiddle in case you don't get it.

答案 1 :(得分:0)

但是根据接受的答案,有一个抛弃的贬值警告。 Deprecation warning in moment js

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

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

如果你有Date对象将其转换为String()然后应用.format()