JavaScript toLocaleDateString() 方法
toLocaleDateString()
是 JavaScript 中的一个日期对象方法,用于将日期对象转换为本地化的字符串表示。这种字符串表示的格式会因为地区而有所不同,例如在美国日期的表示方式为“月/日/年”,而在德国则为“日.月.年”。
语法
dateObj.toLocaleDateString([locales [, options]])
参数
locales
可选参数,指定一个或多个区域解析器标识符或区域解析器名称。-
options
可选,一个对象,包含以下属性:weekday
可选,表示是否需要在字符串中包含星期几的信息,默认值为'narrow'
。-
year
可选,表示何种形式表示年份,设为'numeric'
、'2-digit'
、undefined
或其他。默认没有此选项。 -
month
可选,表示何种形式表示月份,设为'numeric'
、'2-digit'
、'short'
、'long'
或其他。默认没有此选项。 -
day
可选,表示何种形式表示日期,设为'numeric'
、'2-digit'
或其他。默认没有此选项。
示例
示例 1
const date = new Date('June 29, 2021 15:00:00 GMT+08:00');
console.log(date.toLocaleDateString('en-US'));
// expected output: "6/29/2021"
console.log(date.toLocaleDateString('zh-CN'));
// expected output: "2021/6/29"
console.log(date.toLocaleDateString('de-DE'));
// expected output: "29.6.2021"
上面的示例中,我们创建了一个日期对象,并使用 toLocaleDateString()
方法将其转换为以不同格式表示日期的字符串。第一行代码创建了一个日期对象,表示北京时间 2021 年 6 月 29 日 15 时 00 分。下面分别用英语、中国大陆和德语的区域解析器表示方式将其转换为字符串,并输出转换后的结果。
示例 2
const date = new Date('June 29, 2021 15:00:00 GMT+08:00');
console.log(date.toLocaleDateString('en-US', {weekday: 'long'}));
// expected output: "Tuesday, June 29, 2021"
console.log(date.toLocaleDateString('zh-CN', {weekday: 'long'}));
// expected output: "星期二,2021年6月29日"
console.log(date.toLocaleDateString('de-DE', {year: '2-digit', month: 'numeric', day: 'numeric'}));
// expected output: "29.06.21"
上面的示例中,我们在示例 1 的代码基础上加上了 options
参数,并将 'long'
和 '2-digit'
选项用于区分工具所生成的日期格式。第一行输出完整格式的英语表示,第二行输出完整格式的中国大陆表示,而第三行输出缩略格式的德语表示。
示例 3
const date = new Date('June 29, 2021 15:00:00 GMT+08:00');
const options = {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'};
console.log(date.toLocaleDateString('en-US', options));
// expected output: "Tuesday, June 29, 2021"
console.log(date.toLocaleDateString('zh-CN', options));
// expected output: "2021年6月29日星期二"
console.log(date.toLocaleDateString('de-DE', options));
// expected output: "Dienstag, 29. Juni 2021"
上面的示例中,我们进一步加深了自然语言的选项。我们准备一个名为 options
的对象,其包含完整属性表示方式。然后,我们按照不同区域解析器,依次输出不同的时间表示方式。
结论
toLocaleDateString()
方法是 JavaScript 语言中用于将 Date 对象转换为本地化日期字符串的方法。通过区域解析器,我们可以在不同地区使用不同的日期格式,得到符合当地习惯的字符串。使用 options
参数,我们可以进一步选定具体的日期格式,可以非常灵活地为日期对象生成符合需求的字符串。这些特性在大多数涉及到日期和时间的项目中都十分有用,开发者有必要掌握并在实际项目中合理地使用这个方法。