js实现date
日期对象的基本使用
在JavaScript中,Date对象用于处理日期和时间。通过new Date()可以创建一个表示当前时间的日期对象。
const currentDate = new Date();
console.log(currentDate); // 输出当前日期和时间(如:2023-10-05T12:34:56.789Z)
指定日期和时间
可以通过传递参数来创建指定日期和时间的Date对象。
// 指定日期(年月日)
const specificDate = new Date(2023, 9, 5); // 月份从0开始(9表示10月)
console.log(specificDate); // 2023-10-05T00:00:00.000Z
// 指定日期和时间(年月日时分秒)
const specificDateTime = new Date(2023, 9, 5, 12, 30, 45);
console.log(specificDateTime); // 2023-10-05T12:30:45.000Z
日期格式化
Date对象提供多种方法获取日期和时间的各个部分。
const date = new Date();
const year = date.getFullYear(); // 获取年份(如2023)
const month = date.getMonth() + 1; // 获取月份(0-11,需加1)
const day = date.getDate(); // 获取日期(1-31)
const hours = date.getHours(); // 获取小时(0-23)
const minutes = date.getMinutes(); // 获取分钟(0-59)
const seconds = date.getSeconds(); // 获取秒数(0-59)
console.log(`${year}-${month}-${day} ${hours}:${minutes}:${seconds}`);
日期计算
可以通过修改Date对象的毫秒数进行日期计算。
const date = new Date();
date.setDate(date.getDate() + 7); // 增加7天
console.log(date); // 输出7天后的日期
// 计算两个日期的差值(毫秒)
const date1 = new Date(2023, 9, 1);
const date2 = new Date(2023, 9, 5);
const diffInMs = date2 - date1;
const diffInDays = diffInMs / (1000 * 60 * 60 * 24);
console.log(diffInDays); // 4(天)
日期字符串转换
可以使用toLocaleString、toISOString等方法将日期转换为字符串。
const date = new Date();
const localString = date.toLocaleString(); // 本地格式(如"10/5/2023, 12:34:56 PM")
const isoString = date.toISOString(); // ISO格式(如"2023-10-05T12:34:56.789Z")
console.log(localString);
console.log(isoString);
第三方库推荐
对于更复杂的日期操作(如时区处理、格式化),推荐使用第三方库:

- Moment.js(传统选择,但已停止维护)
- date-fns(模块化,轻量级)
- Luxon(Intl集成,功能强大)
// 使用date-fns格式化日期
import { format } from 'date-fns';
const formattedDate = format(new Date(), 'yyyy-MM-dd HH:mm:ss');
console.log(formattedDate);






