使用时刻js将日期转换为特定格式?

时间:2017-08-01 10:00:14

标签: momentjs

我的日期字符串为:Wed Aug 30 2017 00:00:00 GMT+0530 (IST),我希望将其转换为:2017-8-30

现在我这样做:

moment($scope.date.selectedDate).format('YYYY-M-DD')它正在给出正确的时间,但会发出警告:

时刻构建回到js日期

3 个答案:

答案 0 :(得分:2)

由于输入是JS日期,因此您还需要传递输入格式。这可以通过以下方式完成:

moment('Wed Aug 30 2017 00:00:00 GMT+0530', 'ddd MMM DD YYYY HH:mm:ss GMT+-HH:mm').format('YYYY-M-DD');

https://jsfiddle.net/o01ktajp/1/

答案 1 :(得分:0)

相对于警告,您可以参考这篇文章Deprecation warning: moment construction falls back to js Date。 最简单的解决方案是以ISO格式传递日期字符串。

至于日期,如果您只想在UI中使用该格式显示日期,则可以使用' date'角度过滤器:https://docs.angularjs.org/api/ng/filter/date

在你的情况下,你可以像这样使用它:

$scope.date.selectedDate | date: 'YYYY-M-DD'

BR,

答案 2 :(得分:0)

你可以这样做:

var d = new Date('Wed Aug 30 2017 00:00:00 GMT+0530');

var formated = moment(d).format('YYYY-M-DD');