跳转到主要内容
AutoScript 提供了一组内置的日期和时间工具函数,用于在脚本中处理动态时间计算。

日期函数

date(y, m, d)

创建一个指定日历日期的值。 参数:
参数类型说明
yinteger年份,如 2025
minteger月份,如 10
dinteger日期,如 30
返回值: 日期值(可赋值给日期类型变量) 示例:
-- 设置为 2025 年 10 月 30 日
RESERVE_DATE = date(2025, 10, 30)

datenow()

获取当前日期(当天的 00:00:00)。 返回值: 当前日期值 示例:
-- 将预约日期设为今天
RESERVE_DATE = datenow()

dateadd(date_val, n)

在指定日期上增加或减少天数。 参数:
参数类型说明
date_valdate基准日期值
ninteger增加的天数(负数表示减少)
返回值: 计算后的日期值 示例:
-- 预约明天
RESERVE_DATE = dateadd(datenow(), 1)

-- 预约三天前
RESERVE_DATE = dateadd(datenow(), -3)

-- 在已有日期基础上计算
RESERVE_DATE = dateadd(RESERVE_DATE, 7)  -- 延后一周

strtodate(iso_str)

将 ISO 格式日期字符串转换为日期值。 参数:
参数类型说明
iso_strstring日期字符串,格式 "YYYY-MM-DD"
返回值: 日期值 示例:
RESERVE_DATE = strtodate("2025-12-31")

datetostr(ts)

将日期值转换为 ISO 格式字符串。 参数:
参数类型说明
tsdate日期值
返回值: 格式为 "YYYY-MM-DD" 的字符串
datetostr() 通常用于调试或日志输出。在实际操作中直接使用日期值即可。

时间函数

time(h, m)

创建一个指定时间值。 参数:
参数类型说明
hinteger小时(0-23)
minteger分钟(0-59)
返回值: 时间值(可赋值给时间类型变量) 示例:
-- 设置开始时间为 09:30
RESERVE_BEGIN_TIME = time(9, 30)

-- 设置结束时间为 21:00
RESERVE_END_TIME = time(21, 0)

timenow()

获取当前时间(以分钟表示的当天已过时间)。 返回值: 当前时间值(分钟数) 示例:
-- 将开始时间设为当前时间后 30 分钟
RESERVE_BEGIN_TIME = timeadd(timenow(), 30)

timeadd(time_val, n)

在指定时间上增加或减少分钟数。 参数:
参数类型说明
time_valtime基准时间值
ninteger增加的分钟数(负数表示减少)
返回值: 计算后的时间值(自动处理跨天回绕) 示例:
-- 开始时间推迟 30 分钟
RESERVE_BEGIN_TIME = timeadd(RESERVE_BEGIN_TIME, 30)

-- 结束时间提前 1 小时
RESERVE_END_TIME = timeadd(RESERVE_END_TIME, -60)

-- 在现有时间基础上叠加
RESERVE_BEGIN_TIME = timeadd(timenow(), 120)  -- 当前时间 + 2 小时

strtotime(hm_str)

将时间字符串转换为时间值。 参数:
参数类型说明
hm_strstring时间字符串,格式 "HH:MM"
返回值: 时间值 示例:
RESERVE_BEGIN_TIME = strtotime("08:00")

timetostr(m)

将时间值转换为字符串。 参数:
参数类型说明
mtime时间值(分钟数)
返回值: 格式为 "HH:MM" 的字符串
timetostr() 通常用于调试或日志输出。在实际操作中直接使用时间值即可。

函数速查表

函数说明输入输出
date(y, m, d)创建日期(int, int, int)date
datenow()当前日期date
dateadd(d, n)日期偏移(date, int)date
strtodate(s)字符串转日期(string)date
datetostr(d)日期转字符串(date)string
time(h, m)创建时间(int, int)time
timenow()当前时间time
timeadd(t, n)时间偏移(time, int)time
strtotime(s)字符串转时间(string)time
timetostr(t)时间转字符串(time)string