前言#
有時候我們會有這樣的需求就是,從某個時刻到現在經理了多少時間,這在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");
- 運行結果
difftime.png
總結#
- 個人覺得這個函數的局限性太大了,只能傳入秒數,好像只做了一個差,那我自己做減法好不好;)
- 注意函數的定義計算的時刻t1到 t2 的差值,所以不要把參數搞反了,否則會返回負值的。