(原创)lua日期、时间、时间戳的计算和转换
----------------------------------------------日期与时间 print("当前时间戳:") local nowTime = os.time() print(nowTime) print("") print("转换成日期:") --时间戳 转 日期 local nowData = os.date("%Y%m%d%H%M%S",nowTime) print(nowData) --可以单独转换 local tb = {} tb.year = tonumber(os.date("%Y",unixTime)) tb.month =tonumber(os.date("%m",unixTime)) tb.day = tonumber(os.date("%d",unixTime)) tb.hour = tonumber(os.date("%H",unixTime)) tb.minute = tonumber(os.date("%M",unixTime)) tb.second = tonumber(os.date("%S",unixTime)) --转成table local tb = os.date("*t",nowTime) dump(tb) print("") print("日期转回时间戳:") print(os.time(tb)) print("") local time1 = os.time({year=2018,month=2,day=28,hour=23, min=0, sec=3}) local time2 = os.time({year=2018,month=3,day=1,hour=1, min=0, sec=2}) print("获取时间戳对应的日期") --获取时间戳对应的天数(天数规则不是自然天,是(hour)4点前当前一天算) function Tool:GetDayKeyByUnixTime(unixTime,hour) if hour == nil then hour = 0 end local retStr = os.date("%Y-%m-%d %H:%M:%S",unixTime) local time = unixTime local data = os.date("*t",time) --dump(data) --(hour)4点前按前一天算 if data.hour < hour then time = time - 24*60*60 end local data2 = os.date("*t",time) --dump(data2) data2.hour = 0 data2.min = 0 data2.sec = 0 local time2 = os.time(data2) local dayKey = os.date("Key%Y%m%d",time2) local timeBase = time2 --天数key,日期格式字符串,天数key 0点的时间戳 return dayKey,retStr,timeBase end local dayKey,str = Tool:GetDayKeyByUnixTime(time1,4) print("dayKey = "..dayKey.." str = "..str) dayKey,str = Tool:GetDayKeyByUnixTime(time2,4) print("dayKey = "..dayKey.." str = "..str) --两个时间的天数差 --时间戳1 时间戳2 多少点开始算第二天 function Tool:NumberOfDaysInterval(unixTime1,unixTime2,dayFlagHour) if dayFlagHour == nil then dayFlagHour = 0 end local key1,str1,time1 = Tool:GetDayKeyByUnixTime(unixTime1,dayFlagHour) local key2,str2,time2 = Tool:GetDayKeyByUnixTime(unixTime2,dayFlagHour) local sub = math.abs(time2 - time1)/(24*60*60) print(str1.." 与 "..str2.."相差的天数:"..sub) return sub end local sub = Tool:NumberOfDaysInterval(time1,time2,4) print(sub)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端