在编码网站和格式化日期时,我想使用用户在浏览器中设置的区域设置。
例如,如果用户chrome://settings/languages将 Chrome 中的设置自定义为非默认值,这就是我想要使用的值。
但是,当我在这样一个浏览器的控制台中运行下面的代码时,我得到了两个不同的值。
[window.navigator.language, new Intl.DateTimeFormat().resolvedOptions().locale]
// Array [ "en-AU", "en-US" ]
Run Code Online (Sandbox Code Playgroud)
navigator.language给了我预期的价值,但new Intl.DateTimeFormat().resolvedOptions().locale没有。
这两个项目的 MDN 似乎(对我来说)表明它们应该返回相同的值:
返回代表用户首选语言的字符串
要使用浏览器的默认语言环境,请省略此参数或传递 undefined。
这两个调用都应该返回用户在浏览器设置中配置的区域设置吗?