根据文档{Date object}。toLocaleString()应使用浏览器默认区域设置(未指定时)。默认语言环境通过navigator.language
可见。
当我的语言环境为“en-GB”时,我希望输出格式为 DD/MM/YYY。
它返回 MM/DD/YYYY(“en”或“en-US”)。
如果我将语言环境指定为“en-GB”,则输出将按预期进行。
为什么 navigator.locale 不用于 .toLocaleString() ?
日期:2021 年 11 月 24 日。
window.navigator.language // default "locale" ?
new Date().toString()
new Date().toLocaleDateString() // is not using the window.navigator.language
new Date().toLocaleDateString("en-GB") // ok, this use the right format
Run Code Online (Sandbox Code Playgroud)
正如Andreas在评论中指出的那样, .toLocaleDateString()似乎有一些错误。
这个解决方法似乎有效:
new Date().toLocaleDateString(window.navigator.language)
Run Code Online (Sandbox Code Playgroud)