Moment.js to convert date string into date
跟着我以前的文章:Javascript Safari:键入字符串时,新的Date()返回无效日期
我正在使用Moment.js根据用户在文本框中的输入将日期字符串转换为日期字段。 这是为了防止我在Safari和Firefox的链接文章中描述的问题(Chrome正常时无法呈现日期)。
这是代码窃听器:
1 2 | var tempDate = moment(userInputFieldDate).format('DD-MM-YYYY'); alert(tempDate); |
在Chrome中,它确实可以正常工作(它也可以与Javascript Date对象一起使用),但是给了我moment.js弃用警告
Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.
Arguments: [object Object]
Error
在Firefox和Safari上,仅在警报窗口中提供未定义的日期。 所以不能完全确定我应该怎么做才能将日期字符串转换为Date对象。 有什么建议么 ?
如果要获取基于JS的日期
1 2 3 4 | var dateString = 'Thu Jul 15 2016 19:31:44 GMT+0200 (CEST)'; var dateObj = new Date(dateString); var momentObj = moment(dateObj); var momentString = momentObj.format('YYYY-MM-DD'); // 2016-07-15 |
如果
1 2 3 | var dateString = '07-15-2016'; var momentObj = moment(dateString, 'MM-DD-YYYY'); var momentString = momentObj.format('YYYY-MM-DD'); // 2016-07-15 |
如果您有日期字符串,则应尝试此操作。
1 2 3 4 5 6 7 | const FORMAT ="YYYY ddd MMM DD HH:mm"; const theDate = moment("2019 Tue Apr 09 13:30", FORMAT); // Tue Apr 09 2019 13:30:00 GMT+0300 const theDate1 = moment("2019 Tue Apr 09 13:30", FORMAT).format('LL') // April 9, 2019 |
或者试试这个:
1 | const theDate1 = moment("2019 Tue Apr 09 13:30").format(FORMAT); |