lua计算时间差 按照日历方式来计算时间差 而不是固定每个月都是多少天来计算

这篇博客介绍了一个 Lua 函数 `data_GetIntervalTimeTableFromOldTimeToNewTime`,用于计算两个时间点之间的日历时间差,考虑了闰年和每个月的实际天数,而非固定每个月都是30或31天。函数通过分析新旧时间的年、月、日、小时和分钟来得出准确的时间间隔。
摘要由CSDN通过智能技术生成

data_GetIntervalTimeTableFromOldTimeToNewTime 方法刚写的,正在验证中,如果发现了bug欢迎反馈,以便及时修正

--获取月份对应的天数
local DaysNormalMonth = {[1] = 31, [2] = nil, [3] = 31, [4] = 30, [5] = 31, [6] = 30, [7] = 31, [8] = 31, [9] = 30, [10] = 31, [11] = 30, [12] = 31}
function getDaysWithMonth( month, year )
if month == 2 then
if (year%4 == 0 and year % 100 ~= 0) or (year % 100 == 0 and year % 400 == 0) then
return 29
else
return 28
end
else
return DaysNormalMonth[month]
end
end


--根据新旧时间 获取时间间隔(只算到分钟数,不考虑秒数)
--获取的是日历上的时间差,而不是固定每个月都是多少天来计算 
--比如2016/04/02 与 2016/02/28 之间的间隔应该是1个月3天 
function data_GetIntervalTimeTableFromOldTimeToNewTime(oldTime, newTime)
-- local wantTime = os.time({year=2014,month=12,day=31,hour=1,min=1})
-- print(wantTime)
-- print("旧时间=", os.date("%Y-%m-%d %H:%M", oldTime))
-- print("新时间=", os.date("%Y-%m-%d %H:%M", newTime))
local temp = 0
--参数位置错了
if oldTime > newTime then
temp = oldTime
oldTime = newTime
newTime = temp
end
local oldTimeTable = os.date("*t", oldTime)
local newTimeTable = os.date("*t", newTime)


local oldYear

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值