【发布时间】:2021-11-07 13:31:02
【问题描述】:
我不确定这是否会是一个重复的问题,因为我在 SO 上找不到任何内容,因此,我将继续回答这个问题 -
我有一个依赖于语言环境的日期字符串,我也有它的语言环境信息。
例如。 dateStr = '06/07/2021' 和 locale='en-GB'。
如何从中获取 JS Date 对象? Date 构造函数似乎没有采用语言环境,默认情况下会根据 en-US 语言环境(MM-DD-YYYY)对其进行解析。
我的意思是,上面的 dateStr 将使用 Date 构造函数转换为 7th June 2021 而不是实际的 6 July 2021。
更新:
我从d2l-intl 得到了一些东西,但它不起作用。很奇怪。
var parser = new d2lIntl.DateTimeParse('en-GB');
var date = parser.parseDate('23/05/2021');
console.log(
date.getMonth(),
date.getDate()
);
这会中断,因为它仍然接受 en-US 格式的日期字符串。
【问题讨论】:
-
这能回答你的问题吗? Converting a string to a date in JavaScript
-
当存在不映射到任何语言的格式(例如各种 ISO 8601 格式)并且您可以传递实际格式时,为什么要使用语言代码来确定格式,例如而不是“en-GB”传递“d/m/y”或类似的。有许多不同的代币方案可供借鉴。
-
Date对象不负责解析除 ECMAScript 标准中指定的字符串之外的任何字符串。见Why does Date.parse give incorrect results?。请参阅我发布的链接,了解人们使用 JS 提供的多种方式。
标签: javascript date momentjs locale