JavaScript中使用原生Date对象可创建、获取、格式化日期时间,通过get方法提取信息,手动拼接或toLocaleString()格式化,相减计算时间差,set方法设置偏移,比较大小直接用关系运算符,处理时区建议用UTC方法和ISO格式时间字符串,也可引入date-fns等库优化操作。

JavaScript 中的日期和时间操作是前端开发中常见的需求,比如显示当前时间、计算时间差、格式化日期等。虽然 JavaScript 提供了内置的 Date 对象,但它的 API 有时不够直观,容易出错。本文将系统介绍如何使用原生方法进行常见的时间处理,并给出实用技巧。
创建和获取日期时间
使用 new Date() 可以创建一个表示当前时间的日期对象。你也可以传入特定时间字符串或时间戳来创建指定时间。
• new Date() —— 当前时间• new Date('2025-04-05') —— 指定日期
• new Date(2025, 3, 5) —— 注意月份从 0 开始(0 表示一月)
• new Date('2025-04-05T10:30:00') —— 包含时分秒
• new Date(1743849000000) —— 使用时间戳(毫秒)
获取时间信息使用对应的方法:
• getDate() —— 日(1-31)• getMonth() —— 月(0-11),需 +1
• getFullYear() —— 年份
• getHours(), getMinutes(), getSeconds() —— 时分秒
• getDay() —— 星期几(0-6,0 是周日)
格式化日期的常用方法
原生 Date 不提供 format 方法,需要手动拼接。可以封装一个简单函数:
立即学习“Java免费学习笔记(深入)”;
function formatDate(date) {const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
}
也可以使用 toLocaleDateString() 快速格式化为本地格式:
date.toLocaleDateString('zh-CN') // 2025/4/5date.toLocaleString('zh-CN') // 2025/4/5 10:30:00
时间计算与比较
两个 Date 对象相减会得到毫秒差,可用于计算间隔:
10分钟内自己学会PHP其中,第1篇为入门篇,主要包括了解PHP、PHP开发环境搭建、PHP开发基础、PHP流程控制语句、函数、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、日期和时间等内容;第2篇为提高篇,主要包括MySQL数据库设计、PHP操作MySQL数据库、Cookie和Session、图形图像处理技术、文件和目录处理技术、面向对象、PDO数据库抽象层、程序调试与错误处理、A
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));
设置偏移时间可使用 setXXX 方法:
let tomorrow = new Date();tomorrow.setDate(tomorrow.getDate() + 1);
比较两个时间大小直接用 == 即可:
if (date1 > date2) { ... }处理时区问题
JavaScript 的 Date 默认使用浏览器本地时区。如果涉及跨时区场景,建议统一使用 UTC 时间:
date.getUTCFullYear()date.getUTCHours()
时间字符串尽量使用 ISO 格式(如 2025-04-05T10:00:00Z),末尾 Z 表示 UTC 时间,避免解析歧义。
现代项目中也可考虑使用 date-fns 或 dayjs 等轻量库替代原生 Date,API 更友好,功能更强大。
基本上就这些。掌握好原生方法,再按需引入工具库,能高效应对大多数时间处理场景。









