Lua中获取第二天凌晨的剩余时间
作者:互联网
在时间这个问题上,lua提供两大方法来供开发者使用,一个是os.time(),一个是os.date(),这两大方法可以满足日常开发的需求。
那么我们如何准确运用这两大方法呢。
在这一文章中我们先讲os.time(),并通过一个简单的例子来获取到指定时间的秒数。
在开始这个例子之前,我们需要明白一些东西:
os.time() 得到是当前时间的距离1970.1.1.08:00时间的秒数,如果传入的参数小于这个时间,那么就会得到一个,秒数就是负数,会得到一个空值
如果没有任何参数,就会返回当前时间。如果参数一个table,并且table的域必须有 year, month, day, 可有也可以没有 hour, min, sec, isdst,则会返回table所代表日期的时间,如果未定义后几项,默认时间为当天正午(12:00:00)。 返回值是一个 number ,其值取决于你的系统。
local time=os.time() --返回当前时间
那么显而易见这个方法返回的是一个秒数。
local toTime=os.time({year =2016, month = 11, day =23, hour =17, min =17, sec = 00})
如果我们给os.time()传入一个自定义时间的table,代码如上所示,那么我们也将得到那个时间的总秒数。
用未来时间减去当前时间,就能获取到指定时间的秒数。
那么我们就来完成这个例子
--获取到第二日凌晨的剩余时间 返回秒数
function GetReaminSecondsTo24()
local toYear=os.date("*t").year
local toMonth=os.date("*t").month
local toDay=os.date("*t").day
local toTime = os.time({year =toYear, month = toMonth, day =toDay, hour =23, min =59, sec = 59})
local time=os.time()
return toTime-time+1; --为什么+1?因为我们返回的是当日23:59:59的秒数,如果是第二天凌晨的
--话就需要多加1
end
标签:剩余时间,秒数,local,凌晨,month,Lua,时间,time,os 来源: https://www.cnblogs.com/gangtie/p/14830769.html