IE 11 - 日期不工作

IE 11 - Date is not working

  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

我正在尝试从 local date string (see screenshot) 创建 date,但它在 IE11 only 中不起作用。虽然它适用于正常的 date string

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

有什么建议吗?

为此只需使用 momentjs

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

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

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

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

moment 的第二个参数总是指定输入的格式。
它也能够猜测输入,但您需要对此进行试验。

.format("L")本质上是一样的,只是在输出方向上。

好像可以这样

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

Reference Answer