前端(JavaScript)函数_时间类
文档概述
轻语言网站开发中的时间日期操作函数、用于处理时间和日期数据,包含创建时间对象、获取年月日时分秒星期、格式化日期时间、计算时间差、时间戳转换、日期比较等功能,常用于时间显示、日期计算、时间格式化等场景。
- 时间获取:
取年/取月/取日/取时/取分/取秒/取星期可分别获取时间各部分,参数为空取当前时间 - 格式化输出:
取现行日期/取现行时间/时间对象到文本将时间对象转为字符串,可指定分隔符 - 时间创建:
创建时间对象(字符串) /创建指定时间对象(各分量) 两种创建方式 - 时间计算:
取时间差返回两时间对象的毫秒差;文本到时间戳将时间字符串转为时间戳
💡 时间戳与时间差:
取时间差(A, B)返回 A-B 的毫秒数(1秒=1000毫秒)。计算两时间相差天数:取时间差(A, B) / 1000 / 60 / 60 / 24。取星期返回 0-6,0 表示星期日。
函数:创建时间对象(时间字符串)
创建Date对象,参数为空则返回当前时间。时间字符串格式如 '2026/07/20 10:00:00'。
' 获取当前时间
变量 当前时间 = 创建时间对象()
调试输出(当前时间)
' 解析指定时间字符串
变量 指定时间 = 创建时间对象("2026/08/10 14:30:00")
调试输出(指定时间)
函数:取年(时间对象)
获取时间对象的年份,参数为空则取当前年。
变量 年 = 取年()
调试输出(年) ' 如:2026
' 判断闰年
变量 当前年 = 取年()
如果(取余数(当前年, 4) == 0 且 取余数(当前年, 100) != 0)
调试输出(当前年 + " 是闰年")
否则 如果(取余数(当前年, 400) == 0)
调试输出(当前年 + " 是闰年")
否则
调试输出(当前年 + " 是平年")
结束 如果
函数:取月(时间对象)
获取时间对象的月份(1-12),参数为空则取当前月。
变量 月 = 取月()
调试输出(月) ' 1-12
' 根据月份显示季节
变量 当前月 = 取月()
如果(当前月 == 10 或 当前月 == 11 或 当前月 == 12)
调试输出("冬季")
否则 如果(当前月 == 1 或 当前月 == 2 或 当前月 == 3)
调试输出("春季")
否则 如果(当前月 == 4 或 当前月 == 5 或 当前月 == 6)
调试输出("夏季")
否则 如果(当前月 == 7 或 当前月 == 8 或 当前月 == 9)
调试输出("秋季")
否则
调试输出("未知月份")
结束 如果
函数:取日(时间对象)
获取时间对象的日(1-31),参数为空则取当前日。
变量 日 = 取日()
调试输出(日) ' 1-31
' 显示当前日期
变量 当前日期 = 取年() + "年" + 取月() + "月" + 取日() + "日"
调试输出(当前日期)
函数:取时(时间对象)
获取时间对象的小时(0-23),参数为空则取当前时。
变量 时 = 取时()
调试输出(时) ' 0-23
' 根据时间显示问候语
变量 当前时 = 取时()
如果(当前时 < 6)
调试输出("凌晨好")
否则 如果(当前时 < 12)
调试输出("上午好")
否则 如果(当前时 < 18)
调试输出("下午好")
否则
调试输出("晚上好")
结束 如果
函数:取分(时间对象)
获取时间对象的分钟(0-59),参数为空则取当前分。
变量 分 = 取分()
调试输出(分) ' 0-59
函数:取秒(时间对象)
获取时间对象的秒数(0-59),参数为空则取当前秒。
变量 秒 = 取秒()
调试输出(秒) ' 0-59
函数:取星期(时间对象)
获取时间对象的星期几(0-6,0表示星期日),参数为空则取当前星期。
变量 星期 = 取星期()
调试输出(星期) ' 0-6
' 显示中文星期
变量 星期名 = ["日", "一", "二", "三", "四", "五", "六"]
变量 星期几 = 取数组成员(星期名, 取星期())
调试输出("星期" + 星期几) ' 如:星期一
函数:取现行日期(分隔符)
获取当前日期字符串,分隔符可选,默认 '/',例如 '2026/08/10'。
变量 日期 = 取现行日期("-")
调试输出(日期) ' 2026-08-10
' 默认分隔符
变量 日期2 = 取现行日期()
调试输出(日期2) ' 2026/08/10
函数:取现行时间(分隔符)
获取当前时间字符串,分隔符可选,默认 ':',例如 '14:30:25'。
变量 时间 = 取现行时间(":")
调试输出(时间) ' 14:30:25
' 完整日期时间
变量 当前 = 取现行日期("-") + " " + 取现行时间(":")
调试输出(当前) ' 2026-08-10 14:30:25
函数:创建指定时间对象(年, 月, 日, 时, 分, 秒)
根据指定年月日时分秒创建Date对象(月为1-12,时、分、秒可选)。
变量 时间 = 创建指定时间对象(2026, 8, 10, 10, 0, 0)
调试输出(时间)
' 仅指定年月日
变量 生日 = 创建指定时间对象(1990, 5, 15)
调试输出(生日)
函数:时间对象到文本(时间对象, 日期分隔符)
将Date对象格式化为 'YYYY/MM/DD HH:MM:SS' 字符串,分隔符可选,默认 '/'。
变量 文本 = 时间对象到文本(创建时间对象(), "-")
调试输出(文本) ' 2026-08-10 14:30:25
' 格式化指定时间
变量 指定时间 = 创建指定时间对象(2026, 1, 1)
变量 格式文本 = 时间对象到文本(指定时间, "/")
调试输出(格式文本) ' 2026/01/01 00:00:00
函数:取时间差(时间对象A, 时间对象B)
返回两个时间对象的毫秒差值(A - B)。
变量 差 = 取时间差(创建时间对象("2026-08-10 12:00:00"), 创建时间对象("2026-08-10 10:00:00"))
调试输出(差) ' 7200000 (2小时的毫秒数)
' 计算两时间相差天数
变量 开始 = 创建时间对象("2026-08-01")
变量 结束 = 创建时间对象("2026-08-10")
变量 毫秒差 = 取时间差(结束, 开始)
变量 天数 = 向下取整(毫秒差 / 1000 / 60 / 60 / 24)
调试输出("相差 " + 天数 + " 天") ' 9
函数:文本到时间戳(时间字符串)
将时间字符串转换为毫秒时间戳,若解析失败返回-1。
变量 时间戳 = 文本到时间戳("2026-08-10 14:30:00")
调试输出(时间戳) ' 毫秒数
' 判断解析是否成功
变量 戳 = 文本到时间戳("无效时间")
如果(戳 == -1)
调试输出("时间格式无效")
否则
调试输出("时间戳: " + 戳)
结束 如果
学习要点
| 知识点 | 代码示例 | 说明 |
|---|---|---|
| 当前时间 | 取年() / 取月() / 取日() | 参数为空时取当前时间分量,取星期 返回 0-6(0=周日) |
| 日期格式化 | 取现行日期("-") / 取现行时间(":") | 可指定分隔符;组合使用得到完整日期时间字符串 |
| 时间对象创建 | 创建时间对象("2026/08/10") | 字符串创建;创建指定时间对象(年, 月, 日, 时, 分, 秒) 分量创建 |
| 时间差计算 | 取时间差(A, B) | 返回 A-B 的毫秒数;天数 = 毫秒/1000/60/60/24 |
| 时间戳转换 | 文本到时间戳("2026-08-10 14:30:00") | 字符串转毫秒时间戳;失败返回 -1,需判空 |
| 闰年判断 | 取余数(年, 4) == 0 | 能被4整除且不被100整除,或被400整除为闰年 |
| 中文星期 | 取数组成员(["日","一",...], 取星期()) | 星期数组映射中文名称,0=周日 |
| 时间字符串格式 | "2026/08/20 10:00:00" | 推荐使用 / 或 - 分隔,避免使用 . 导致解析问题 |
相关文档
- 文档
前端(JavaScript)函数_时钟类——创建时钟、延时执行定时器函数 - 文档
前端(JavaScript)函数_数据转换类——到文本、到数值等类型转换函数 - 文档
前端(JavaScript)函数_数学运算——取余数、向下取整等数学函数 - 文档
前端(JavaScript)函数_数组操作——取数组成员用于星期名映射 - 文档
前端(JavaScript)函数_储存类——保存配置存储时间相关用户偏好