IE 11-日期不起作用

时间:2018-08-17 09:42:35

标签: javascript date internet-explorer-11

  1. new Date().toLocaleDateString('en-US'); // "‎8‎/‎17‎/‎2018"
  2. new Date("8/17/2018") //valid date
  3. new Date(new Date().toLocaleDateString('en-US')) // Invalid Date

我正在尝试从date创建local date string (see screenshot),但是在IE11 only中不起作用。不过,它可以与普通date string一起使用。

我知道"" double quotes有问题,但是无法正常工作。

有什么建议吗?

enter image description here

2 个答案:

答案 0 :(得分:2)

似乎可以这样做

new Date(new Date().toLocaleDateString('en-US').replace(/[^ -~]/g,''))

Snapshot from ie11

Reference Answer

答案 1 :(得分:1)

为此只需使用momentjs

moment("8/17/2018", "L").format()将输出:
"2018-08-17T00:00:00+02:00"

({+02:00是我的本地时区。您也可以指定使用utc或其他时区。)

还请记住,L取决于您安装的时区配置文件。这是默认的en

您还可以将"L"替换为"MM/DD/YYYY"

时刻的第二个参数始终指定输入的格式。
它也可以猜测输入,但是您需要尝试一下。

.format("L")基本相同,但在输出方向上。