ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

日期时间常用判断

2022-01-25 20:31:53  阅读:165  来源: 互联网

标签:常用 判断 return os 日期 3600 pattern end local


 日期时间字符串转时间戳

1 function Parse_yyyyMMdd_hhmmss(dtStr)
2     --local str = "1970-01-01 08:00:03"
3     local pattern = "(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)"
4     local index1, index2, year, month, day, h, m, s = string.find(dtStr, pattern)
5 
6     local dateTime = { year = year, month = month, day = day, hour = h, min = m, sec = s }
7     return os.time(dateTime)
8 end

 

比如: 每天首次登录可领取一次奖励, 判断是否当天的首次登录

1 function NowBetweenDateTime(beginDtTimeStr, endDtTimeStr)
2     local utcSec1 = Parse_yyyyMMdd_hhmmss(beginDtTimeStr)
3     local utcSec2 = Parse_yyyyMMdd_hhmmss(endDtTimeStr)
4     
5     local nowTimeStamp = os.time()
6     return nowTimeStamp >= utcSec1 and nowTimeStamp <= utcSec2
7 end

 

比如: 活动在每天的10:00开始, 13:30结束, 判断是否在活动时间内

 1 function NowBetweenDayTime(beginTimeStr, endTimeStr)
 2     local pattern = "(%d+):(%d+)"
 3     
 4     local nowDateTime = os.date("*t", os.time())
 5     local nowDaySec = nowDateTime.hour * 3600 + nowDateTime.min * 60
 6     
 7     local index1, index2, h, m = string.find(beginTimeStr, pattern)
 8     local beginDaySec = h * 3600 + m * 60
 9     if nowDaySec < beginDaySec then return false end
10     
11     index1, index2, h, m = string.find(endTimeStr, pattern)
12     local endDaySec = h * 3600 + m * 60
13     if nowDaySec > endDaySec then return false end
14     
15     return true
16 end

 

比如: 排行榜每天0点刷新, 距离刷新还剩多长时间

1 function LeftTime()
2     local dt = os.date("*t", os.time())
3     local leftSec = 24 * 3600 - dt.hour * 3600 + dt.min * 60 + dt.sec
4     return leftSec
5 end

 

标签:常用,判断,return,os,日期,3600,pattern,end,local
来源: https://www.cnblogs.com/sailJs/p/15844384.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有