IE 11 - 日期不工作
IE 11 - Date is not working
new Date().toLocaleDateString('en-US'); // "8/17/2018"
new Date("8/17/2018") //valid date
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
new Date().toLocaleDateString('en-US'); // "8/17/2018"
new Date("8/17/2018") //valid date
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