注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小盒子的小盒

知道的越多不知道的就越多

 
 
 

日志

 
 

【转】Lua比较两个时间点(os.date())之间的时间间隔值  

2015-04-09 21:53:29|  分类: LUA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
--[[比较两个时间,返回相差多少时间]]
function timediff(long_time,short_time)
local n_short_time,n_long_time,carry,diff = os.date('*t',short_time),os.date('*t',long_time),false,{}
local colMax = {60,60,24,os.date('*t',os.time{year=n_short_time.year,month=n_short_time.month+1,day=0}).day,12,0}
n_long_time.hour = n_long_time.hour - (n_long_time.isdst and 1 or 0) + (n_short_time.isdst and 1 or 0) -- handle dst
for i,v in ipairs({'sec','min','hour','day','month','year'}) do
diff[v] = n_long_time[v] - n_short_time[v] + (carry and -1 or 0)
carry = diff[v] < 0
if carry then
diff[v] = diff[v] + colMax[i]
end
end
return diff
end

local n_long_time = os.date(os.time{year=2014,month=6,day=10,hour=16,min=0,sec=0});
local n_short_time = os.date(os.time{year=2013,month=5,day=11,hour=16,min=0,sec=0});

local t_time = timediff(n_long_time,n_short_time);
local time_txt = string.format("%04d", t_time.year).."年"..string.format("%02d", t_time.month).."月"..string.format("%02d", t_time.day).."日   "..string.format("%02d", t_time.hour)..":"..string.format("%02d", t_time.min)..":"..string.format("%02d", t_time.sec);
print(time_txt);

  评论这张
 
阅读(926)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017