函数用于判断两个时间戳是否在同一天。下面是对代码的详细解释:
### 函数参数
### 函数实现步骤
--[[ @desc 是否是同一天 @param stampA 时间戳A @param stampB 时间戳B @param resetInfo[optional] 重置时间。比如12点重置,那么11点和13点就不是同一天,而23点和第二天11点是同一天。默认为hour=0,min=0,sec=0 ]] function TimeUtil:isSameDay(stampA, stampB, resetInfo) assert(stampA ~= nil, "error:stampA=nil") assert(stampB ~= nil, "error:stampB=nil") stampA = TimeUtil:toInt(stampA) stampB = TimeUtil:toInt(stampB) if stampA > stampB then stampA, stampB = stampB, stampA end if resetInfo then local resetSeconds = (resetInfo.hour or 0) * 3600 + (resetInfo.minute or 0) * 60 + (resetInfo.seconds or 0) stampA = stampA - resetSeconds stampB = stampB - resetSeconds end local dateA = TimeUtil:fixTimeZoneFor_LUA_OS_DATE("*t", stampA) local dateB = TimeUtil:fixTimeZoneFor_LUA_OS_DATE("*t", stampB) -- 在创建新号的时候,上面的数值可能存在空值 -- 目前知道导致红点初始化错误,红点初始化中断 if dateA and dateB then return dateA.day == dateB.day and dateA.month == dateB.month and dateA.year == dateB.year else return false end end