IE11中的无效日期,即使支持ISO 8601日期格式

时间:2018-09-21 06:36:16

标签: javascript date momentjs

我用了一些时间将日期转换为ISO支持的格式,因为它在chrome和firefox上工作正常,但在IE11上却不能 我按照文档YYYY-MM-DD支持iso格式, 这是我的js_time1格式,如前所述ddd MMM D YYYY hh:mm:ss 所以我用它来修饰它

var js_time = moment(js_time1).format('YYYY-MM-DD');

我也尝试过  var js_time = moment(js_time1,'ddd MMM D YYYY hh:mm:ss').format('YYYY-MM-DD');  但没有用。 js_time1的格式为2018年8月3日星期一12:12:21 预先感谢

1 个答案:

答案 0 :(得分:3)

假设js_time1是显示为“格式”("Mon Aug 3rd 2018 12:12:21")的文件,则存在三个问题:

  • 2018年8月3日是星期五,而不是星期一。
  • 您的解析格式对D使用3rdD与普通字符不符,即Do
  • 您正在使用hh(1-12)数小时,这意味着可以与a一起使用。我假设您的时间是24小时制,所以是HH

如果您修复了这些问题(包括修复字符串中的错误),它将起作用:

var js_time1 = "Fri Aug 3rd 2018 12:12:21";
var js_time = moment(js_time1,'ddd MMM Do YYYY HH:mm:ss').format('YYYY-MM-DD');
console.log(js_time);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>