JavaScript操作日期依赖Date对象,需注意本地时区和月份从0开始;通过new Date()创建时间,用get/set系列方法读写值,格式化推荐toLocaleString()或Intl.DateTimeFormat,计算用时间戳差值。

JavaScript操作日期与时间主要依靠内置的Date对象,它能获取、格式化、计算和比较时间,但要注意其默认基于本地时区,且月份从0开始(0表示1月)这些关键细节。
创建和获取当前或指定时间
用new Date()可创建当前时间对象;传入字符串、时间戳或年月日等参数可构造指定时间。注意字符串格式尽量用ISO 8601(如"2024-05-20T14:30:00"),避免浏览器解析差异。
-
new Date()→ 当前本地时间 -
new Date("2024-05-20")→ 当天0点(ISO格式最可靠) -
new Date(2024, 4, 20, 14, 30)→ 2024年5月20日14:30(月份是4,不是5) -
new Date(1716215400000)→ 时间戳转日期(毫秒数)
读取日期各部分数值
使用get系列方法获取年、月、日、时、分、秒等,注意getMonth()返回0–11,getDate()才是每月第几天(1–31)。
-
date.getFullYear()→ 四位年份(推荐,不用getYear()) -
date.getMonth()→ 0起始的月份 -
date.getDate()→ 日期(不是getDay(),后者是星期几,0=周日) -
date.getHours(), getMinutes(), getSeconds()→ 小时分钟秒 -
date.getTime()→ 获取时间戳(毫秒),常用于计算差值
格式化输出常用方式
原生方法如toLocaleString()、toISOString()适合快速格式化;需要自定义格式可用字符串拼接或Intl.DateTimeFormat(更健壮,支持多语言和时区)。
本书全面介绍PHP脚本语言和MySOL数据库这两种目前最流行的开源软件,主要包括PHP和MySQL基本概念、PHP扩展与应用库、日期和时间功能、PHP数据对象扩展、PHP的mysqli扩展、MySQL 5的存储例程、解发器和视图等。本书帮助读者学习PHP编程语言和MySQL数据库服务器的最佳实践,了解如何创建数据库驱动的动态Web应用程序。
立即学习“Java免费学习笔记(深入)”;
-
date.toLocaleString("zh-CN")→ 中文本地格式,含年月日时分秒 -
date.toISOString().slice(0, 19).replace("T", " ")→ 得到"2024-05-20 14:30:00" -
new Intl.DateTimeFormat("zh-CN", {year:"numeric", month:"2-digit", day:"2-digit"}).format(date)→ 精确控制字段和宽度
日期计算与比较
日期相减得到毫秒差,再换算成天、小时等;比较大小直接用>、(本质比时间戳);修改时间用set系列方法(如setDate()、setHours())。
-
date1 - date2→ 毫秒差,Math.floor((date1 - date2) / (1000 * 60 * 60 * 24))得天数差 -
date1 > date2→ 布尔结果,无需调用getTime() -
date.setDate(date.getDate() + 7)→ 加7天(会自动处理跨月) -
date.setMonth(date.getMonth() + 1)→ 加一个月(可能跳到下下月,需留意)
不复杂但容易忽略:时区影响大,做国际化项目优先用Intl API或引入dayjs/luxon等轻量库来简化处理。









