📅  最后修改于: 2023-12-03 15:31:43.981000             🧑  作者: Mango
在 JavaScript 中,可以通过内置对象 Date
来处理日期和时间。
创建日期对象最简单的方法是使用 new Date()
构造器。
const date = new Date();
console.log(date);
输出:
Wed May 05 2021 14:21:31 GMT+0800 (China Standard Time)
可以看到,输出的日期格式是 Day Month Date Year Hours:Minutes:Seconds GMT Timezone
的形式。其中,Month
是从 0 开始计算的,因此 5 表示的是 6 月。
我们也可以通过传递参数来实例化一个特定日期的对象。有多种方法可以传递参数,以下是最常见的三种形式:
new Date(milliseconds)
:从 1970 年 1 月 1 日起加上毫秒数。new Date(dateString)
:从日期字符串解析日期。new Date(year, month, day, hours, minutes, seconds, milliseconds)
:通过年、月、日等来构造日期对象。例如,我们可以使用以下代码创建一个日期对象:
const birthday = new Date(1988, 5, 1);
console.log(birthday);
输出:
Thu Jun 01 1988 00:00:00 GMT+0800 (China Standard Time)
可以使用 Date
对象的方法和属性来获取日期的各个部分。
const date = new Date();
const year = date.getFullYear(); // 获取年份,返回 4 位数字
const month = date.getMonth(); // 获取月份,返回 0~11 之间的一个数字
const dayOfMonth = date.getDate(); // 获取日期,返回月份中的某一天,1~31 之间的一个数字
const dayOfWeek = date.getDay(); // 获取星期几,返回 0~6 之间的一个数字,0 表示周日,1 表示周一,以此类推
console.log(year, month, dayOfMonth, dayOfWeek);
输出:
2021 4 5 3
const date = new Date();
const hours = date.getHours(); // 获取小时,返回 0~23 之间的一个数字
const minutes = date.getMinutes(); // 获取分钟,返回 0~59 之间的一个数字
const seconds = date.getSeconds(); // 获取秒,返回 0~59 之间的一个数字
const milliseconds = date.getMilliseconds(); // 获取毫秒,返回 0~999 之间的一个数字
console.log(hours, minutes, seconds, milliseconds);
输出:
14 21 31 671
时间戳是指自 1970 年 1 月 1 日 0 时 0 分 0 秒以来经过的毫秒数。可以使用 Date
对象的 getTime()
方法获取当前时间的时间戳。
const date = new Date();
const timestamp = date.getTime();
console.log(timestamp);
输出:
1620186091671
可以使用 Date
对象的 toLocaleDateString()
和 toLocaleTimeString()
方法将日期和时间格式化成本地字符串。同时,也可以使用第三方库如 moment.js 来更灵活地格式化日期。
const date = new Date();
const dateString = date.toLocaleDateString(); // 格式化日期
const timeString = date.toLocaleTimeString(); // 格式化时间
console.log(dateString, timeString);
输出:
5/5/2021 上午2:21:31 671