前言#
有时候我们会有这样的需求就是,从某个时刻到现在经理了多少时间,这在lua里是有现成的函数的,名为os.difftime(),用来计算一个时间到另一个时间之差。
内容#
os.difftime()##
- 原型:os.difftime (t2, t1)
- 解释:返回以秒计算的时刻t1到 t2 的差值。 在Windows,和其它一些系统中,这个值就等于 t2-t1。
Usage##
- 首先我们新建一个文件命名为difftime.lua编写如下代码:
-- 奥运会的时间
local tab = {year=2008, month=8, day=8, hour=20}
local pretime = os.time(tab)
print(os.date("08 Olympic Games time is %x", pretime))
-- 现在的时间
local timetable = os.date("*t");
local nowtime = os.time(timetable)
print(os.date("now time is %c", nowtime))
local difft = os.difftime(nowtime, pretime);
print("from 08 Olympic Games to now cost time "..difft.."s");
- 运行结果
总结#
- 个人觉得这个函数的局限性太大了,只能传入秒数,好像只做了一个差,那我自己做减法好不好;)
- 注意函数的定义计算的时刻t1到 t2 的差值,所以不要把参数搞反了,否则会返回负值的。