Lua获取指定时间时间戳【判断是否过了某一个时间点】
好久没更新了,练个手
最近项目里面在做一个活动的时间刷新逻辑,每到凌晨5点刷新一下当日的购买次数,这里写一下利用时间戳来判断时间是否在***凌晨5点之前打开了购买面板然后凌晨5点以后点击购买所带来的一个小问题***
直接上代码
-- 获取的时间戳是服务器同步时间戳
--进来第一步先走这里
function GetFormatTime()
self.openTime = 这里是你自己的获取时间戳的方法 --获取打开时的时间戳
self.todayFormatDate = self:FormatTime(这里是你自己的获取时间戳的方法,0,5)
--这个0代表的意思是当天,5指的的24格式的时间,就是凌晨5点这里
-- 获取的是根据今天的时间戳获取指定天数和指定时间点的时间戳
end
--点击需要判断的代码块时调这里
function JudgeDateIsRight(currentTime)
--当你打开时间小于当天的凌晨五点,并且你购买时间大于当天凌晨5--点,--就会返回false
if self.openTime < self.todayFormatDate and currentTime >= self.todayFormatDate then
return false
else
return true
end
end
function FormatTime(lastDate,day,hour)
local dayTimestamp = 24* 60* 60
lastDate = lastDate + dayTimestamp * day
local date = os.date("*t", time)
--这里返回的是你指定的时间点的时间戳
return os.time({year=date.year, month=date.month, day=date.day, hour=hour, minute = date.minute, second = date.second})
end
因为一些问题这些代码不齐全,但是核心逻辑基本是正确的。利用时间戳的好处是这样不用去考虑时间的格式化,只用知道下一天就是了,不用去判断年月日
有什么不对的地方还希望大佬们来指正,谢谢