语言环境“默认”格式不正确

Sou*_*osh 6 javascript microsoft-edge

以下代码从dateJavaScript 中的对象获取月份。

const date = new Date(dateValue);
const month = date.toLocaleString('default', { month: 'short' });
Run Code Online (Sandbox Code Playgroud)

例如:如果日期是类似的30/07/2019,它将返回Nov.

这在 Chrome 中工作正常,但在 Edge 浏览器中失败并出现错误:

SCRIPT5121:SCRIPT5121:区域设置“默认”格式不正确

我的 Edge 浏览器版本是 41.16299.1004.0

这是一个 jsfiddle:https ://jsfiddle.net/1dwcv9xu/1

根据 MDN,date.toLocaleStringEdge 完全支持:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString#Browser_compatibility

此外,我在 Edge 的 MSDN 文档中找不到此错误代码:https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide/console/error-and-status-codes

有没有办法解决这个问题或任何替代方法来获取月份的mmm格式?

Sou*_*osh 0

由于我没有找到问题的解决方案,因此我使用了另一种方法,该方法可能适用于所有浏览器:

const date = new Date(dateValue);
//const month = date.toLocaleString('default', { month: 'short' });
const monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
   "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
];
const month = monthNames[date.getMonth()];
Run Code Online (Sandbox Code Playgroud)

学分:从日期获取月份名称