我希望使用moment.js格式化以下日期字符串,但它提供无效日期。
var dateString = '2/17/2016 12:16PM GMT-05:00';
var pattern = 'MM/DD/YYYY h:mma ZZ';
var testDate = moment(dateString).format(pattern); //Invalid Date
如何正确解析它还是有其他方法可以解决它?
编辑:回答
对于解析,我们必须使用
var testDate = moment(dateString, pattern, locale);
但是对于格式化,我们必须使用
var formattedDate = moment(testDate).format(pattern);
答案 0 :(得分:6)
只需使用pattern作为矩函数的第二个参数
var testDate = moment(dateString, pattern)
更多信息,请参阅文档:http://momentjs.com/docs/#/parsing/string-format/
答案 1 :(得分:1)
你可以尝试一下:
var dateString = '2/17/2016 12:16PM GMT-05:00';
var pattern = 'MM/DD/YYYY h:mma ZZ';
var testDate = moment(dateString, "MM/DD/YYYY h:mmA -hh:mm").format(pattern);