date.value =新的Date(date.value);在IE11中不起作用

时间:2019-08-08 21:54:53

标签: javascript internet-explorer-11

它可在其他Web浏览器中使用,但IE11返回无效日期。
为了调试,我使用了以下代码。

console.log('before - ' + date.value); 
date.value = new Date(date.value); 
console.log('after - ' + date.value); 

IE11控制台

-1958-08-21之前00:00:00.0
无效日期之后

Chrom版本75.0.3770.80
-1958-08-21 00:00:00.0之前
1958年8月21日星期四00:00:00 GMT-0700(太平洋夏令时)之后

1 个答案:

答案 0 :(得分:2)

我认为

new Date("1958-08-21 00:00:00.0");

是使用该功能的非标准方式。

new Date("1958-08-21T00:00:00.0");

在IE11中有效。 (我添加了T)。

根据MDN

  

表示日期的字符串值,以Date.parse()方法可识别的格式指定(这些格式是IETF兼容的RFC 2822时间戳,也是ISO8601版本的字符串)。