Intl.DateTimeFormat 不输出 2 位数月 + 日的分隔符 (IE 11)
Intl.DateTimeFormat does not output separators on 2 digit month + day (IE 11)
我在 Intl.DateTimeFormat
MDN
中遇到了一个错误
环境
Internet Explorer 11.0.6900.19080 Windows 7
错误
当月 + 日仅使用“2 位数字”选项时,函数不输出任何分隔符,无论是 /
代表 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 DateTimeFormat
在发布版本 oct 17 ,2013
上添加了对 IE11 的完全支持,所以可能是你的 Windows 7 有一个旧版本,你可以通过单击版本号旁边的 link 来检查。
要解决您的问题,您可以
- 更新 IE11(我认为这不是解决方案)这只对你有效
- 根据您的应用支持的语言手动添加分隔符
Intl.DateTimeFormat('en', {
month: "2-digit",
day: "2-digit"
})
.format(new Date()).split(" ").join("/");
- 使用以下polyfill获得全力支持
我在 Intl.DateTimeFormat
MDN
环境
Internet Explorer 11.0.6900.19080 Windows 7
错误
当月 + 日仅使用“2 位数字”选项时,函数不输出任何分隔符,无论是 /
代表 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 DateTimeFormat
在发布版本 oct 17 ,2013
上添加了对 IE11 的完全支持,所以可能是你的 Windows 7 有一个旧版本,你可以通过单击版本号旁边的 link 来检查。
要解决您的问题,您可以
- 更新 IE11(我认为这不是解决方案)这只对你有效
- 根据您的应用支持的语言手动添加分隔符
Intl.DateTimeFormat('en', {
month: "2-digit",
day: "2-digit"
})
.format(new Date()).split(" ").join("/");
- 使用以下polyfill获得全力支持