JavaScript中如何更改日期格式

1. 日期格式概述

在JavaScript中,可以通过Date对象来获取当前日期,例如:

let now = new Date();

console.log(now);

上面的代码将会输出当前时间,例如:

Thu Jul 22 2021 16:23:29 GMT+0800 (中国标准时间)

但是,日期格式可能并不总是我们需要的格式。有时候,我们需要将日期格式转换为特定的形式,例如"2021年7月22日"或"07/22/2021"。下面,我们将介绍一些常见的日期格式。

1.1. 年月日格式

最常见的日期格式是"年-月-日",也就是ISO标准日期格式,例如"2021-07-22"。在JavaScript中,可以使用Date对象的toISOString()方法来将日期格式化为ISO格式:

let now = new Date();

let isoDate = now.toISOString().split('T')[0];

console.log(isoDate);

上面的代码将会输出当前日期的ISO格式,例如:

2021-07-22

1.2. 中文日期格式

在中文语境中,日期格式通常为"年月日"或"月日年",例如"2021年7月22日"或"7月22日2021年"。在JavaScript中,可以使用toLocaleDateString()方法来将日期格式化为特定的语言格式:

let now = new Date();

let cnDate = now.toLocaleDateString('zh-CN');

console.log(cnDate);

上面的代码将会输出当前日期的中文格式,例如:

2021/7/22

需要注意的是,toLocaleDateString()方法中的参数'zh-CN'指定了语言和地区,可以根据需要进行修改,例如'zh-TW'表示繁体中文。

1.3. 短日期格式

短日期格式通常为"月/日/年"或"日/月/年",例如"07/22/2021"或"22/07/2021"。在JavaScript中,可以使用getDate()、getMonth()和getFullYear()方法来分别获取日期的日、月和年,并将它们拼接成短日期格式:

let now = new Date();

let month = now.getMonth() + 1;

let day = now.getDate();

let year = now.getFullYear();

let shortDate = month + '/' + day + '/' + year;

console.log(shortDate);

上面的代码将会输出当前日期的短格式,例如:

7/22/2021

2. 修改日期格式

2.1. 修改中文日期格式

假设我们要将中文日期格式改为"yyyy年MM月dd日"的形式,可以使用正则表达式来替换字符串中的"/"为"年月日":

let now = new Date();

let cnDate = now.toLocaleDateString('zh-CN').replace(/[/]/g, '年').replace('月', '年').replace('日', '日');

console.log(cnDate);

上面的代码将会输出当前日期的新中文格式,例如:

2021年7月22日

2.2. 修改短日期格式

假设我们要将短日期格式改为"yyyy-MM-dd"的形式,可以使用if语句来判断月份和日期是否需要在前面添加"0":

let now = new Date();

let month = now.getMonth() + 1;

let day = now.getDate();

let year = now.getFullYear();

if (month < 10) {

month = '0' + month;

}

if (day < 10) {

day = '0' + day;

}

let shortDate = year + '-' + month + '-' + day;

console.log(shortDate);

上面的代码将会输出当前日期的新短格式,例如:

2021-07-22

3. 总结

JavaScript中的日期格式化可以通过Date对象和各种方法来实现。常见的日期格式有ISO格式、中文格式和短格式,可以根据实际需求进行选择和修改。在修改日期格式时,可以使用字符串的replace()方法和if语句来进行替换和判断,使日期格式符合要求。