LUA 时间和日期
时间和日期相关库函数
时间戳:os.time ([table])
无参数时返回以纪元时间1970年1月1日8时0分0秒到当前时间的秒数
可选参数table:以时间表作为参数返回该表所描述的时间戳
时间表有效字段:{year = 1970, month = 1, day = 1, hour = 8, min = 0, sec = 0}
时间戳差值:os.difftime (t1, t2)
返回两个时间戳的差值
参数t:时间戳
CPU时钟:os.clock ()
返回当前程序占用的CPU时钟
格式化输出时间:os.date ([format [,time])
返回按格式化输出日期时间,无参数时按操作系统默认格式返回当前日期时间字符串。
可选参数format:格式控制符 (类似C语言的prinrf),可选参数time:指定时间戳,无参数默认为当前时间戳。
当format参数为"*t"时会返回当前时间表,字段如下:
do for k,v in pairs (os.date("*t")) do print (k, v) end end --[[ sec 58 秒 min 18 分 hour 21 小时 day 2 日 month 1 月 year 2022 年份 wday 1 周当中的天,周日为1 yday 2 年当中的天 --]]
格式控制符
%a -- 星期简写 %A -- 星期全称 %b -- 月份简写 %B -- 月份全称 %c -- 操作系统默认的日期时间完整格式 %d -- 一个月中的第几天 %H -- 小时,24小时制 %I -- 小时,12小时制 %j -- 一年中的第几天 %m -- 月份 %M -- 分钟 %p -- AM/PM %S -- 秒数 %w -- 星期 %W -- 一年中的第几周 %x -- 日期,日/月/年 %X -- 时间,时/分/秒 %y -- 年份,两位数形式 %Y -- 年份,完整形式 %z -- 时区 %% -- 转义百分号
例如:
print (os.date ("%Y-%m-%d %A %H:%M:%S"))
输出结果:2022-01-02 Sunday 21:53:51
时间和日期的自动归一演示
do t = os.date("*t") -- 获取当前时间表 print (os.date("%Y-%m-%d")) -- 格式化输出当前日期2022-01-03 t.day = t.day + 57 -- 日期增加57天 print (os.date("%Y-%m-%d", os.time(t))) -- 按指定格式输出以t表为时间戳的日期,2022-03-01 end
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通