首页 / LUA / lua的几个时间相关处理函数
lua的几个时间相关处理函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了lua的几个时间相关处理函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2077字,纯文字阅读大概需要3分钟。
内容图文
随手写的,项目中没用,不一定对,只作参考。
-- 游戏时间相关函数 local gt = {} local math = math local ONE_MINUTE = 60local ONE_HOUR = ONE_MINUTE * ONE_MINUTE local ONE_DAY = ONE_HOUR * 24local ONE_WEEK = ONE_DAY*7--本地时间2000-01-01 00:00对应UTClocal sec_2000 = os.time{year=2000,month=1,day=1,hour=0,min=0,sec=0} local refresh_2000 = sec_2000 + ONE_HOUR*4local monday_2000 = os.time{year=2000,month=1,day=3,hour=0,min=0,sec=0} --第一个周一-- Compute the difference in seconds between local time and UTC.function gt.get_timezone() local now = os.time() returnos.difftime(now, os.time(os.date("!*t", now))) endlocal TIMEZONE = gt.get_timezone() --这是获取2000-01-01 00:00:00以来所过的天数,根据系统时区变化function gt.get_day_from_2000() returnmath.floor( (ev.time - sec_2000)/ONE_DAY ) end--这是获取2000-01-01 00:00:00以来所过的秒数,根据系统时区变化function gt.get_second_from_2000() return ev.time - sec_2000 end--这是获取2000-01-01 04:00:00以来所过的天数,根据系统时区变化function gt.get_refresh_day_from_2000() returnmath.ceil( (ev.time - refresh_2000)/ONE_DAY ) end--这是获取2000-01-01 00:00:00以来所过的周数,根据系统时区变化function gt.get_week_from_2000() returnmath.ceil( (ev.time - monday_2000)/ONE_WEEK ) end--获取当天的0时0分0秒的时间function gt.get_begin_of_day() local local_t = ev.time + TIMEZONE return local_t - local_t%ONE_DAY end--获取下分钟的时间function gt.get_next_minite() return ev.time - ev.time%ONE_MINUTE + ONE_MINUTE end--获取下小时的时间function gt.get_next_hour() return ev.time - ev.time%ONE_HOUR + ONE_HOUR end--获取下一次的4时0分0秒的时间function gt.get_next_refresh_time() local pass = (ev.time - refresh_2000)%ONE_DAY --相对04:00的已过秒数return ev.time - pass + ONE_DAY end--获得星期几 1星期一 --TODO 这里星期天是7function gt.get_weekday() local sec = (ev.time - monday_2000)%ONE_WEEK if sec > 0thenreturnmath.ceil( sec/ONE_DAY) endreturn1--周日00:00才会这样,算周一end--获取当天的秒数,范围是(0 <= sec < 24 * 3600)function gt.get_second_of_day() return (ev.time + TIMEZONE)%ONE_DAY end--比较a-b时间是否>=num天function gt.compare_days(a,b,num) local ds = math.floor((a - sec_2000)/ONE_DAY) - math.floor((b - sec_2000)/ONE_DAY) return ds >= num orfalseendreturn gt
原文:http://www.cnblogs.com/coding-my-life/p/4632424.html
内容总结
以上是互联网集市为您收集整理的lua的几个时间相关处理函数全部内容,希望文章能够帮你解决lua的几个时间相关处理函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。