gpt4 book ai didi

javascript - Intl.DateTimeFormat 不输出 2 位月份 + 日的分隔符 (IE 11)

转载 作者:行者123 更新时间:2023-11-29 18:50:08 25 4
gpt4 key购买 nike

我在 Intl.DateTimeFormat 中遇到了一个错误 MDN

环境

Windows 7 上的 Internet Explorer 11.0.6900.19080

错误

当月 + 日仅使用“2 位数字”选项时,函数不输出任何分隔符,无论是 / for en 还是 de。这仅在 Windows 7 上的 Internet Explorer 中发生。Windows 10 上的 Internet Explorer 11 + Edge 正在运行。未测试低于 11。

Internet Explorer

Intl.DateTimeFormat('en', {month: "2-digit", day: "2-digit"}).format(new Date());
> "‎07‎ ‎25"

Intl.DateTimeFormat('en', {year: "numeric", month: "2-digit", day: "2-digit"}).format(new Date());
> "‎07‎/‎25‎/‎2018"

Chrome

Intl.DateTimeFormat('en', {month: "2-digit", day: "2-digit"}).format(new Date());
> "07/25"

Intl.DateTimeFormat('en', {year: "numeric", month: "2-digit", day: "2-digit"}).format(new Date());
> "07/25/2018"

上下文

我在出现这个错误的时候使用了react-intl,并将错误追溯到原生的Intl.DateTimeFormat()

<FormattedDate
value={new Date()}
month="2-digit"
day="2-digit"
/>

最佳答案

根据 caniuse.com DateTimeFormatoct 17 ,2013 发布的版本中添加了对 IE11 的完全支持,因此可能是您的 Windows 7 版本较旧,您可以通过单击版本号旁边的链接。

enter image description here

要解决您的问题,您可以

  • 更新 IE11(我认为这不是解决方案)这只对您有效
  • 根据您的应用支持的语言手动添加分隔符

Intl.DateTimeFormat('en', {
month: "2-digit",
day: "2-digit"
})
.format(new Date()).split(" ").join("/");

  • 使用以下 polyfill获得全力支持

关于javascript - Intl.DateTimeFormat 不输出 2 位月份 + 日的分隔符 (IE 11),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51514873/

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