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