gpt4 book ai didi

javascript - Intl.DateTimeFormat( )'s ` dateStyle` 和 `timeStyle` 是否使用操作系统首选项中定义的格式?

转载 作者:行者123 更新时间:2023-12-02 21:39:29 27 4
gpt4 key购买 nike

过去我总是说不可能以用户在操作系统首选项中定义的格式显示日期/时间。例如,我可能将 EN-US 作为我的语言/区域,但更喜欢使用 24 小时时间格式。或者,我可能已将日期格式从mm/dd/yyyy更改为mm/dd/yy

现在,Intl.DateTimeFormat 可以使用 dateStyletimeStyle 值吗?注意:在撰写本文时,并非所有浏览器都支持这些选项。

dateStyletimeStyle 的值为:

  • 完整
  • 简短

这些预定义格式(fulllong 等)可以由用户在其系统首选项中定义,例如 this

dateStyletimeStyle 的值是否使用与操作系统首选项中为 full 的值定义的相同格式长等?

这是一个例子。在下面的代码片段中,我使用了 toLocaleString 来显示当前日期/时间。对于我已传递的选项 dateStyle: 'long'timeStyle: 'long'。即使我将“长”格式更改为自定义格式,这是否会使用我的操作系统首选项中定义的相同格式?

const event = new Date();
console.log(event.toLocaleString(undefined, { dateStyle: 'long', timeStyle: 'long', timeZone: 'UTC' }));

最佳答案

有时。

dateStyle 和 timeStyle 添加是第 3 阶段 proposal ,因此它们尚未完全确定。也就是说,问题并不是关于这些特定选项,而是关于引擎如何决定检索默认区域设置以及它是否包含用户所做的自定义设置。

ECMAscript 规范将默认区域设置描述为特定于实现的,因此由引擎来做出此决定。查看更多详细信息another answer .

使用用户的操作系统首选项非常有意义,Edge 也这样做了。但是,Chrome 和 Firefox 允许用户独立选择浏览器语言,这会导致与应用程序其余部分的行为不一致。请参阅 Firefox bug 1366136 中更深入的讨论.

总而言之,答案是 dateStyle 和 timeStyle 有时会考虑用户的操作系统偏好,有时则不会。

关于javascript - Intl.DateTimeFormat( )'s ` dateStyle` 和 `timeStyle` 是否使用操作系统首选项中定义的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60400653/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com