欢迎访问宙启技术站
智能推送

Date()函数:日期格式化

发布时间:2023-06-12 11:45:19

JavaScript 提供了一些内置函数,可以帮助我们对日期进行格式化和处理。其中之一就是 Date() 函数。在 JavaScript 中,使用 Date() 函数可以获取当前日期和时间,或者创建一个特定日期和时间的实例。本文将介绍 Date() 函数的用法和格式化日期的方式。

### 使用 Date() 函数获取当前日期和时间

使用 Date() 函数不带参数,可以获取当前的日期和时间。例如:

let today = new Date();
console.log(today);

这将在控制台中输出一个日期和时间的字符串。格式为: Mon Oct 11 2021 20:18:55 GMT+0800 (中国标准时间)

### 使用 Date() 函数创建一个特定日期和时间的实例

使用 Date() 函数并传递参数,可以创建一个特定日期和时间的实例。Date() 函数的参数可以是:

- 字符串,如 "2021-10-11T08:00:00"。

- 数字,如 1633968000000。

- 多个数字,如 2021, 9, 11, 8, 0, 0。

例如:

let myDay = new Date("2021-10-11T08:00:00");
console.log(myDay);

这将在控制台中输出一个日期和时间的字符串。格式为: Mon Oct 11 2021 08:00:00 GMT+0800 (中国标准时间)

### 格式化日期和时间

输出 Date() 函数返回的字符串,通常是不方便阅读的。我们通常需要将其格式化成我们想要的样式。下面是几种常用的格式化方式:

#### 1. 将日期格式化为 YYYY-MM-DD

let today = new Date();
let year = today.getFullYear();
let month = today.getMonth() + 1; //月份从0开始,需要+1
let day = today.getDate();

month = month < 10 ? "0" + month : month; //补0
day = day < 10 ? "0" + day : day; //补0

let formattedDate = ${year}-${month}-${day};
console.log(formattedDate);

这将在控制台输出类似 "2021-10-11" 的日期字符串。

#### 2. 将日期格式化为 MM/DD/YYYY

let today = new Date();
let year = today.getFullYear();
let month = today.getMonth() + 1; //月份从0开始,需要+1
let day = today.getDate();

month = month < 10 ? "0" + month : month; //补0
day = day < 10 ? "0" + day : day; //补0

let formattedDate = ${month}/${day}/${year};
console.log(formattedDate);

这将在控制台输出类似 "10/11/2021" 的日期字符串。

#### 3. 将日期格式化为 Weekday, MMMM D, YYYY

let today = new Date();
let daysOfWeek = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
let weekdays = daysOfWeek[today.getDay()];

let year = today.getFullYear();
let monthName = today.toLocaleString("default", { month: "long" }); //获取英文月份名称
let day = today.getDate();

let formattedDate = ${weekdays}, ${monthName} ${day}, ${year};
console.log(formattedDate);

这将在控制台输出类似 "星期一, 十月 11, 2021" 的日期字符串。

#### 4. 将时间格式化为 HH:mm:ss

let today = new Date();
let hour = today.getHours();
let minute = today.getMinutes();
let second = today.getSeconds();

hour = hour < 10 ? "0" + hour : hour; //补0
minute = minute < 10 ? "0" + minute : minute; //补0
second = second < 10 ? "0" + second : second; //补0

let formattedTime = ${hour}:${minute}:${second};
console.log(formattedTime);

这将在控制台输出类似 "20:18:55" 的时间字符串。

### 总结

在 JavaScript 中,使用 Date() 函数可以获取当前日期和时间,或者创建一个特定日期和时间的实例。并且我们可以通过一些简单的代码,将其格式化为我们想要的样式。这在前端开发中是非常常见的操作。