📅  最后修改于: 2023-12-03 15:40:29.013000             🧑  作者: Mango
在JavaScript中,我们可以使用内置的Date对象来处理日期和时间。 但是,当我们要将其呈现为用户可读的格式时,我们需要对其进行格式化。 在本文中,我们将学习如何使用JavaScript将日期格式化为我们想要的格式。
要获取当前日期和时间,我们可以使用Date对象的构造函数。
const currentDate = new Date();
console.log(currentDate); // Thu Apr 01 2021 13:56:40 GMT+0800 (中国标准时间)
我们可以使用上面的代码获取当前日期和时间。现在,如果我们想要将它们呈现为用户可读的格式,我们需要将它们格式化。 我们将在下面的章节中详细讨论日期格式。
在JavaScript中,我们可以使用以下字符来格式化日期:
以下是使用这些字符格式化日期和时间的示例代码:
const currentDate = new Date();
// yyyy-MM-dd
const yearMonthDay = `${currentDate.getFullYear()}-${(currentDate.getMonth() + 1).toString().padStart(2, '0')}-${currentDate.getDate().toString().padStart(2, '0')}`;
console.log(yearMonthDay); // 2021-04-01
// yyyy年MM月dd日
const yearMonthDay2 = `${currentDate.getFullYear()}年${(currentDate.getMonth() + 1)}月${currentDate.getDate()}日`;
console.log(yearMonthDay2); // 2021年4月1日
// HH:mm:ss
const time = `${currentDate.getHours().toString().padStart(2, '0')}:${currentDate.getMinutes().toString().padStart(2, '0')}:${currentDate.getSeconds().toString().padStart(2, '0')}`;
console.log(time); // 13:56:40
// hh:mm:ss a
const time2 = `${(currentDate.getHours() % 12).toString().padStart(2, '0')}:${currentDate.getMinutes().toString().padStart(2, '0')}:${currentDate.getSeconds().toString().padStart(2, '0')} ${currentDate.getHours() >= 12 ? '下午' : '上午'}`;
console.log(time2); // 01:56:40 下午
除了格式化当前日期和时间之外,我们还可以使用格式化字符串来格式化给定的日期字符串。
function formatDate(dateString, format) {
const date = new Date(dateString);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
return format
.replace('yyyy', year)
.replace('MM', month)
.replace('dd', day)
.replace('HH', hours)
.replace('mm', minutes)
.replace('ss', seconds);
}
console.log(formatDate('2021-04-01T06:20:00.000Z', 'yyyy-MM-dd')); // 2021-04-01
console.log(formatDate('2021-04-01T16:20:00.000Z', 'yyyy年MM月dd日 HH:mm:ss')); // 2021年04月01日 16:20:00
上面的代码使用format
字符串,它会根据其中的字符来替换日期和时间的值,并返回一个格式化的日期字符串。
在JavaScript中,我们可以使用Date对象和格式化字符串来格式化日期和时间。 我们可以使用内置的Date对象类来获取当前日期和时间,然后使用格式化字符串和Date对象实例上可用的方法将其格式化为所需的格式。