Javascript toLocaleTimeString()不起作用

anh*_* le 14 javascript datetime

您好,我有一段代码

var date = new Date("11/12/2014 02:58:11 UTC");

console.info(date.toString());

console.info(date.toLocaleTimeString());

console.info(date.toLocaleDateString());
Run Code Online (Sandbox Code Playgroud)

并显示:

Tue Nov 11 2014 16:58:11 GMT-1000 (Hawaiian Standard Time)

9:58:11 AM

11/12/2014
Run Code Online (Sandbox Code Playgroud)

我的时区是 (UTC-10:00) Hawaii

date.toString();正确地显示,但是toLocaleTimeString(),toLocaleDateString()显示不正确的输出

我该如何解决这个问题?

Cha*_*had 7

options您可以在参数中提供时区toLocaleTimeString()

date.toLocaleTimeString('en-US',{timeZone:'America/Adak'})
Run Code Online (Sandbox Code Playgroud)

时区必须从 IANA 时区数据库中指定,这有点奇怪......但它有效。


Sco*_*ott 0

像这样使用它:

dateObj.toLocaleTimeString([locales[, options]])

console.log(date.toLocaleTimeString('en-US'));
Run Code Online (Sandbox Code Playgroud)

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString