js date实现
获取当前日期和时间
使用 new Date() 构造函数可以创建一个表示当前日期和时间的对象。
示例代码:
const currentDate = new Date();
console.log(currentDate); // 输出当前日期和时间(如:Wed Jun 12 2024 14:30:00 GMT+0800)
指定日期和时间
通过传递参数(年、月、日等)创建特定日期对象。
- 月份从
0(1月)到11(12月)。
示例代码:const specificDate = new Date(2024, 5, 12, 14, 30, 0); // 2024年6月12日 14:30:00 console.log(specificDate);
解析日期字符串
使用字符串初始化日期对象时,需符合标准格式(如 ISO 8601)。
示例代码:
const dateFromString = new Date("2024-06-12T14:30:00");
console.log(dateFromString);
获取日期组件
通过日期对象的方法获取年、月、日等部分。
示例代码:
const date = new Date();
const year = date.getFullYear(); // 年份(如 2024)
const month = date.getMonth(); // 月份(0-11)
const day = date.getDate(); // 日(1-31)
console.log(`${year}-${month + 1}-${day}`);
设置日期组件
使用 set 方法修改日期对象的某一部分。
示例代码:
const date = new Date();
date.setFullYear(2025);
date.setMonth(11); // 设置为12月
console.log(date); // 输出修改后的日期
格式化日期
通过拼接组件或使用 toLocaleString 实现本地化格式化。
示例代码:
const date = new Date();
const formatted = date.toLocaleString('zh-CN', {
year: 'numeric',
month: '2-digit',
day: '2-digit'
});
console.log(formatted); // 输出如 "2024/06/12"
计算日期差
通过时间戳(毫秒数)计算两个日期的差值。
示例代码:
const date1 = new Date(2024, 5, 1);
const date2 = new Date(2024, 5, 12);
const diffInMs = date2 - date1; // 差值(毫秒)
const diffInDays = diffInMs / (1000 * 60 * 60 * 24);
console.log(diffInDays); // 输出 11
处理时区
使用 getTimezoneOffset 获取本地时区与 UTC 的分钟差。
示例代码:

const offsetMinutes = new Date().getTimezoneOffset();
console.log(`本地时区偏移:${offsetMinutes} 分钟`);
注意事项
- 月份范围是
0-11,使用时需手动+1显示。 - 解析字符串时建议使用 ISO 格式(
YYYY-MM-DDTHH:mm:ss),避免浏览器兼容性问题。 - 时间戳单位为毫秒,计算时需注意单位转换。






