-- local getTime = os.date(“%c”);

-- %a abbreviated weekday name (e.g., Wed)
-- %A full weekday name (e.g., Wednesday)
-- %b abbreviated month name (e.g., Sep)
-- %B full month name (e.g., September)
-- %c date and time (e.g., 09/16/98 23:48:10)
-- %d day of the month (16) [01-31]
-- %H hour, using a 24-hour clock (23) [00-23]
-- %I hour, using a 12-hour clock (11) [01-12]
-- %M minute (48) [00-59]
-- %m month (09) [01-12]
-- %p either “am” or “pm” (pm)
-- %S second (10) [00-61]
-- %w weekday (3) [0-6 = Sunday-Saturday]
-- %x date (e.g., 09/16/98)
-- %X time (e.g., 23:48:10)
-- %Y full year (1998)
-- %y two-digit year (98) [00-99]
-- %% the character ‘%’

-- 如获取当前年月日时分秒:local date=os.date(“%Y-%m-%d %H:%M:%S”);
--
-- local date = os.date("%Y-%m-%d %H:%M:%S")

------------------------------计算时间差-----------------------------
local currentTime = os.date(os.time())
local CoolingTime = currentTime - 100

local s = os.difftime(currentTime, CoolingTime)
local str = string.format("%2d:%2d:%2d", s/(60*60), s/60%60, s%60)
print(str)

local s = os.difftime(currentTime, CoolingTime)
local str = os.date("%X", s)
print(str)

----------------------------获取指定时间值-----------------------------
-- 通过一个table参数, 指定一个时间,返回时间的数值格式
time = os.time(tab)

local tab = {year=2005, month=11, day=6, hour=22,min=18,sec=30,isdst=false}
time = os.time(tab)

-- 获取当前时间的table格式
tab = os.date("*t")

--year表示年,month表示月,day表示日期,hour表示小时,min表示分钟,sec表示秒,isdst表示是否夏令时
--tab成包括一些其他的成员 tab.yday 表示一年中的第几天 tab.wday 表示星期几(星期天为1)
---------------------------------------------------------------------

local GameLogic = commonlib.gettable("Pisces.GameLogic")

local TimeTool = {}
commonlib.TimeTool = TimeTool local HOUR_OF_DAY =
local SECOND_OF_MINUTE =
local SECOND_OF_HOUR =
local SECOND_OF_DAY = HOUR_OF_DAY * SECOND_OF_HOUR function TimeTool:GetServerUnixTime( )
return GameLogic:GetServerUnixTime()
end function TimeTool:GetMillSecond( )
return cc.Director:getMillSecond()
end --往前追朔到某一天的零点, 单位秒数
function TimeTool:GetDayBegin(time)
time = time or self:GetServerUnixTime() local timetable = os.date("*t", time)
timetable.hour=
timetable.min =
timetable.sec = return os.time(timetable)
end --当前是一天的第几秒
function TimeTool:GetSecondsOfDay( )
local now = self:GetServerUnixTime()
local zero = self:GetDayBegin(now)
return now - zero
end --将秒数转换为:::
function TimeTool:TimeToString(time, flag)
time = time or self:GetServerUnixTime()
local sec = time % SECOND_OF_MINUTE
local min = math.floor(time / ) %
local hour = math.floor(time / SECOND_OF_HOUR)
if flag == then
return string.format("%02d:%02d:%02d", hour, min, sec)
elseif flag == then
return string.format("%02d:%02d", min, sec)
end
end --获取间隔的天数
function TimeTool:GetIntervalDay(timeBegin, tiemEnd)
local dayBegTime1 = self:GetDayBegin(timeBegin)
local dayBegTime2 = self:GetDayBegin(tiemEnd)
return math.floor((math.abs(dayBegTime2 - dayBegTime1)) / SECOND_OF_DAY)
end -- 检查两个时间是否为同一天
function TimeTool:CheckTheSameDay(time1, time2)
return self:GetIntervalDay(time1, time2) ==
end --得到自定义“天”的初始时间点, dayHour, dayMin, daySec为自定义天的跨越点
function TimeTool:GetUserDayBegTime(time, dayHour, dayMin, daySec)
time = time or self:GetServerUnixTime()
dayHour = dayHour or
dayMin = dayMin or
daySec = daySec or local tbTime
local curHour = tonumber(os.date("%H", time))
if curHour < dayHour then
local nTime = time - **
tbTime = os.date("*t", nTime)
else
tbTime = os.date("*t", time)
end tbTime.hour = dayHour
tbTime.min= dayMin
tbTime.sec = daySec return os.time(tbTime)
end --判断两个时间是否在同一“天”
function TimeTool:DiffUserDay(time1, time2, dayHour, dayMin, daySec)
dayHour = dayHour or
dayMin = dayMin or
daySec = daySec or local DayBegTime1 = self:GetUserDayBegTime(time1, dayHour, dayMin, daySec)
local DayBegTime2 = self:GetUserDayBegTime(time2, dayHour, dayMin, daySec)
return DayBegTime1 == DayBegTime2
end

Lua Time的更多相关文章

  1. lua执行字节码的过程介绍

    前面一篇文章中介绍了lua给下面代码生成最终的字节码的整个过程,这次我们来看看lua vm执行这些字节码的过程. foo = "bar" local a, b = "a& ...

  2. lua 学习笔记(1)

    一.lua函数赋值与函数调用         在lua中函数名也是作为一种变量出现的,即函数和所有其他值一样都是匿名的,当要使用某个函数时,需要将该函数赋值给一个变量,这样在函数块的其他地方就可以通过 ...

  3. 在redis中使用lua脚本让你的灵活性提高5个逼格

    在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了 ...

  4. 使用Nginx+Lua代理Hadoop HA

    一.Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个Master组件提供服务,其中正在使用的组件称为Active,另一个作为备份称为Standby,例如HDFS的NameNo ...

  5. 打印Lua的Table对象

    小伙伴们再也不用为打印lua的Table对象而苦恼了, 本人曾也苦恼过,哈哈 不过今天刚完成了这个东西, 以前在网上搜过打印table的脚本,但是都感觉很不理想,于是,自己造轮子了~ 打印的效果,自己 ...

  6. lua解析赋值类型代码的过程

    我们来看看lua vm在解析下面源码并生成bytecode时的整个过程: foo = "bar" local a, b = "a", "b" ...

  7. 怎么调试lua性能

    怎么调试lua性能 我们的游戏使用的是Cocos2dx-lua 3.9的项目,最近发现我们的游戏.运行比较缓慢.想做一次性能优化了.其实主要分为GPU.CPU的分别优化.GPU部分的优化.网上有很多优 ...

  8. Lua 安全调用 metatable 的简单应用

    事情的经过 我们的项目中存在好几个战斗界面,不过界面中的内容略有不同.跟同事出去吃饭的时候,他问我.我们现在的战斗界面.有很多是重复的,但是也有偶尔几个地方不太一样.我在战斗过程中驱动这些界面的时候. ...

  9. 让Lua自己把文件夹下面的所有文件自动加载起来吧

    没有想到我也做了一回标题党.其实这里边说的自动还是有夸大其词的部分.其实只是指定文件夹,然后根据指定文件夹数据,加载目录下边的内容而已. 怎么来进行Lua文件的加载 一般情况下,相关的功能需要给他创建 ...

  10. 让Lua支持Linq吧

    第一次接触Linq是在使用C#的时候,这种语法,在处理列表数据非常方便.如果想了解Linq的更多内容可以百度一下Linq,不过你不了解也没关系,让我在Lua中给你展示一下Linq的魅力.简单点说,Li ...

随机推荐

  1. HDU 3152 Obstacle Course(优先队列,广搜)

    题目 用优先队列优化普通的广搜就可以过了. #include<stdio.h> #include<string.h> #include<algorithm> usi ...

  2. 8.1.1 Connection 对象

    Connect是sqllite3模块中最基本的也是最重要的一个类,其主要方法如下表所示: 方法 说明 execute(sql[,parameters]) 执行一条SQL语句 executemany(s ...

  3. redis 初学

    1.网站:http://redis.cn/ 2.下载安装和配置 http://www.tuicool.com/articles/aQbQ3u 3.简述redis http://www.jb51.net ...

  4. 【ACM】NYOJ_486_Old Calculator_20130725

    Old Calculator时间限制:1000 ms  |  内存限制:65535 KB 难度:1描述 szhhck have an old calculator bought 5 years ago ...

  5. 网络流入门 Drainage Ditches

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) ...

  6. Two Heads Are Often Better Than One

    Two Heads Are Often Better Than One Adrian Wible PROGRAMMING REQUIRES DEEP THOUGHT, and deep thought ...

  7. 使用kotlinc、kotlin、java命令进行kotlin程序运行

    使用kotlinc.kotlin.java命令进行kotlin程序运行 学习了:https://www.cnblogs.com/ShaYeBlog/p/7280452.html kotlinc xxx ...

  8. Linux(redhat 5.8)下 安装jetty 部署 使用

    首先须要安装JDK,自行解决 下载jetty安装包http://dist.codehaus.org/jetty/ 我下载的是8.1.15 tar -xzvf *.tar.gz 解压完之后,基本就能够用 ...

  9. luogu2341 [HAOI2006]受欢迎的牛

    题目大意 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之间的“喜欢”是可以传递的——如果A喜欢B,B喜欢C,那么A也喜欢C.牛 ...

  10. WinForm c# 备份 还原 数据库(Yc那些事儿 转)

    Yc那些事儿 我愿意 为了我的幸福 奋斗终生     2008-11-17 18:04 WinForm c# 备份 还原 数据库 其实是个非常简单的问题,一个Form,一个Button,一个OpenF ...