详解newdate().format方法

发布时间:2023-05-17

一、新建 Date 对象

new date().format 是 JavaScript 中 Date 对象的一个方法,Date 对象表示时间,包含当前时间和日期。在使用 Date 对象时,需要利用构造函数新建一个 Date 对象。 示例代码如下:

const date = new Date();

通过上述代码,我们创建了一个 Date 对象,该对象表示当前时间和日期。

二、format 方法的概述

new date().format 方法是一个用于格式化输出的方法。该方法将 Date 对象中的时间和日期按照指定的格式输出。 该方法最常见的用途是将日期时间格式化为字符串,并作为输出的结果。常见的格式化指令包括:

  • y:年份
  • M:月份
  • d:日
  • h:小时
  • m:分钟
  • s:秒钟
  • S:毫秒 除了以上格式化指令外,还可以使用标点符号、空格等进行格式化。下面是一个例子: 示例代码如下:
const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const formattedDate = year + '-' + month + '-' + day;
console.log(formattedDate); // 2022-1-1

在上述代码中,我们先通过 Date 对象获取了当前的年月日,并通过字符串拼接的方式将它们格式化为了字符串,最终输出的结果为“2022-1-1”。

三、format 方法的常用格式化指令

1. 将年份格式化为 2 位数

使用 yy 表示年份的后两位数。下面是一个例子: 示例代码如下:

const date = new Date();
const year = date.getFullYear();
const formattedDate = year.toString().slice(2);
console.log(formattedDate); // 22

在上述代码中,我们首先获取了当前年份,并将其转化为字符串。然后使用字符串的 slice 方法截取最后两位数字,最终得到了一个 "22" 的字符串。这就是将年份格式化为 2 位数的方法。

2. 将月份格式化为 2 位数

使用 MM 表示月份的两位数。下面是一个例子: 示例代码如下:

const date = new Date();
const month = date.getMonth() + 1;
const formattedDate = month.toString().padStart(2, '0');
console.log(formattedDate); // 01

在上述代码中,我们首先使用 Date 对象的 getMonth 方法获取了当前的月份数字,然后使用字符串的 padStart 方法将该数字格式化为两位数并添加前导零,最终得到了一个 "01" 的字符串。

3. 将日格式化为 2 位数

使用 dd 表示日期的两位数。下面是一个例子: 示例代码如下:

const date = new Date();
const day = date.getDate();
const formattedDate = day.toString().padStart(2, '0');
console.log(formattedDate); // 01

在上述代码中,我们首先使用 Date 对象的 getDate 方法获取了当前的日期,然后使用字符串的 padStart 方法将该数字格式化为两位数并添加前导零,最终得到了一个 "01" 的字符串。

4. 将小时格式化为 12 小时制

使用 h 表示小时的 12 小时制数字,使用 hh 表示小时的两位 12 小时制数字。下面是一个例子: 示例代码如下:

const date = new Date();
const hours = date.getHours();
const formattedDate = (hours % 12 || 12).toString().padStart(2, '0');
console.log(formattedDate); // 01

在上述代码中,我们首先使用 Date 对象的 getHours 方法获取了当前的小时数,然后使用模运算取 12 小时制的数字。如果取模后为 0,则表示当前为 12 点。最后使用字符串的 padStart 方法将该数字格式化为两位数并添加前导零,最终得到了一个 "01" 的字符串。

5. 将小时格式化为 24 小时制

使用 H 表示小时的 24 小时制数字,使用 HH 表示小时的两位 24 小时制数字。下面是一个例子: 示例代码如下:

const date = new Date();
const hours = date.getHours();
const formattedDate = hours.toString().padStart(2, '0');
console.log(formattedDate); // 01

在上述代码中,我们首先使用 Date 对象的 getHours 方法获取了当前的小时数,并使用字符串的 padStart 方法将该数字格式化为两位数并添加前导零,最终得到了一个 "01" 的字符串。

6. 将分钟、秒钟和毫秒格式化为 2 位数

使用 mm 表示分钟的两位数,使用 ss 表示秒钟的两位数,使用 SSS 表示毫秒的三位数。下面是一个例子: 示例代码如下:

const date = new Date();
const minutes = date.getMinutes();
const seconds = date.getSeconds();
const milliseconds = date.getMilliseconds();
const formattedDate = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}.${milliseconds.toString().padStart(3, '0')}`;
console.log(formattedDate); // 01:01.001

在上述代码中,我们首先使用 Date 对象的 getMinutesgetSecondsgetMilliseconds 方法分别获取了当前的分钟数、秒钟数和毫秒数,并使用字符串的 padStart 方法将它们格式化为两位数或三位数并添加前导零或前导零与前导零的点号,最终得到了一个 "01:01.001" 的字符串。

四、总结

new date().format 方法是一个十分有用的工具,它可以将 Date 对象格式化为任何我们想要的形式,使我们在开发过程中更加方便地处理时间和日期。希望本文能帮助您更好地理解并使用 new date().format 方法。