Lua中 Lua os.difftime()用法

有時(shí)候我們會(huì)有這樣的需求就是,從某個(gè)時(shí)刻到現(xiàn)在經(jīng)理了多少時(shí)間,這在lua里是有現(xiàn)成的函數(shù)的,名為os.difftime(),用來(lái)計(jì)算一個(gè)時(shí)間到另一個(gè)時(shí)間之差。

os.difftime
原型:os.difftime (t2, t1)
解釋:返回以秒計(jì)算的時(shí)刻t1到 t2 的差值。 在Windows,和其它一些系統(tǒng)中,這個(gè)值就等于 t2-t1。

個(gè)人覺(jué)得這個(gè)函數(shù)的局限性太大了,只能傳入秒數(shù),好像只做了一個(gè)差,那我自己做減法好不好;)
注意函數(shù)的定義計(jì)算的時(shí)刻t1到 t2 的差值,所以不要把參數(shù)搞反了,否則會(huì)返回負(fù)值的。

項(xiàng)目中遇見情況處理

local startDate = goodsConfig.startDate --開始時(shí)間
if startDate ~= nil then
local date = {
year = tonumber(string.sub(startDate, 1, 4)),
month = tonumber(string.sub(startDate, 5, 6)),
day = tonumber(string.sub(startDate, 7, 8)),
hour = 0,
min = 0,
sec = 0
}
local dif = os.difftime(os.time(), os.time(date))
dif = goodsConfig.duration - dif / 3600
if dif > 0 then
dif = math.floor(dif / 24) + 1
self.SuplusTime = dif --開始時(shí)間
else
self.IsDue = true
return
end
end

第2 網(wǎng)上一個(gè)例子
-- 奧運(yùn)會(huì)的時(shí)間
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))

-- 現(xiàn)在的時(shí)間
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");

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,258評(píng)論 0 38
  • --lua中操作系統(tǒng)庫(kù)os提供4個(gè)函數(shù)os.clock、os.time、os.date、os.difftime -...
    Insist_2a00閱讀 1,321評(píng)論 0 0
  • 前言 也做過(guò)幾次需要使用到time和date的需求了,每次都要百度找一遍,感覺(jué)有點(diǎn)蛋疼,所以干脆花點(diǎn)時(shí)間研究并記錄...
    SimanX閱讀 9,743評(píng)論 0 0
  • Lua的標(biāo)準(zhǔn)庫(kù)能與C語(yǔ)言的API直接實(shí)現(xiàn) 基礎(chǔ)函數(shù)庫(kù) 協(xié)程庫(kù) string庫(kù) table庫(kù) math庫(kù) io庫(kù) 操...
    JunChow520閱讀 4,472評(píng)論 0 10
  • 簡(jiǎn)介 實(shí)例 os.clock(time) 返回執(zhí)行該程序CPU花去的時(shí)鐘秒數(shù)start=os.clock()whi...
    叫我顏先生閱讀 719評(píng)論 0 0

友情鏈接更多精彩內(nèi)容