lua 实现 函数 判断两个时间戳是否在同一天
创始人
2024-12-17 08:34:52
0

函数用于判断两个时间戳是否在同一天。下面是对代码的详细解释:

### 函数参数

  • - `stampA` 和 `stampB`:两个时间戳,用于比较。
  • - `resetInfo`:一个可选参数,包含小时、分钟和秒数,用于调整时间戳。

### 函数实现步骤

  • 1. **参数校验**:使用 `assert` 函数确保 `stampA` 和 `stampB` 都不为 `nil`。如果任一参数为 `nil`,则抛出错误信息。
  • 2. **时间戳转换**:调用 `TimeUtil:toInt` 方法将时间戳转换为整数。
  • 3. **时间戳排序**:确保 `stampA` 小于等于 `stampB`,如果不是则交换它们的值。
  • 4. **时间戳调整**:如果 `resetInfo` 参数存在,则根据 `resetInfo` 中的小时、分钟和秒数调整 `stampA` 和 `stampB`。
  • 5. **时间戳转换为日期**:调用 `TimeUtil:fixTimeZoneFor_LUA_OS_DATE` 方法将时间戳转换为日期表(`*t` 格式),分别得到 `dateA` 和 `dateB`。
  • 6. **日期比较**:检查 `dateA` 和 `dateB` 是否在同一天,即它们的 `day`、`month` 和 `year` 是否相同。如果相同则返回 `true`,否则返回 `false`。
--[[     @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

相关内容

热门资讯

开挂分享!xpoker辅助(透... 开挂分享!xpoker辅助(透视)陕西三代二辅助器(热点讨论开挂辅助下载)1、下载安装好陕西三代二辅...
了解辅助“闲逸辅助脚本”附开挂... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
分享透视!德州hhpoker脚... 分享透视!德州hhpoker脚本,哈糖大菠萝开挂(附辅助开挂神器);哈糖大菠萝开挂是一项哈糖大菠萝开...
开挂关于!wepoker透视辅... 开挂关于!wepoker透视辅助下载(透视)情怀大陆dnf辅助(分享给玩家开挂辅助神器)1、下载安装...
分享开挂“中至赣州黑科技辅助软... 中至赣州黑科技辅助软件视频开挂教程视频分享装挂详细步骤在当今的网络游戏中,中至赣州黑科技辅助软件视频...
科技透视!we-poker软件... 科技透视!we-poker软件,wepoker轻量版透视方法(附辅助开挂软件);1、很好的wepok...
开挂通报!werplan外卦神... 开挂通报!werplan外卦神器(透视)微乐家乡脚本助手(热点推荐辅助开挂神器) 【无需打开直接搜索...
正品辅助“创思维激k透视挂”附... 正品辅助“创思维激k透视挂”附辅助下载(透视智能ai竟然有挂);创思维激k透视挂是一款益智类棋牌手游...
正版透视!wepoker辅助辅... 正版透视!wepoker辅助辅助,德普之星透视辅助软件激活码(附开挂辅助安装);1、很好的德普之星透...
开挂传授!wepoker有透视... 您好:四川麻将血战到底辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...