如何通过moment.js修复解析错误?

Const.DATE_MONTH_FORMAT = 'DD-MMM-YYYY';
var fromDate = moment(new Date(period.fromDate)).format(Const.DATE_MONTH_FORMAT);


在Firefox上,Chrome:19-Aug-2016

在Safari上:Invalid date

在Firefox上:
console.debug(period);

 Object { fromDate="19/Aug/2016",  toDate="30/Aug/2016"}

最佳答案

format()用于输出,而不是用于确定输入的格式。您还将period.fromDate传递给Date构造函数,而不是传递给矩,因此您使用浏览器自己的解析,该解析可以当日期不符合JS规范(which DD/MMM/YYYY doesn't)时,请执行任何操作。 Firefox和Chrome显然认为他们可以从period.fromDate获取日期,而Safari无法。您应该可以通过直接将字符串以及period.fromDate格式传递给即时消息来解决此问题,以便它可以完成所有工作:

Const.DATE_MONTH_FORMAT = 'DD-MMM-YYYY';
var fromDate = moment(period.fromDate, "DD/MMM/YYYY").format(Const.DATE_MONTH_FORMAT);

关于javascript - 如何在Safari上通过moment.js修复解析错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39223468/

10-09 14:57