功能:按table的內容返回一個時間值(數字),若不帶參數則返回當前時間.(在許多系統中該數值是當前距離某個特定時間的秒數。)
說明:當為函數調用附加一個特殊的時間表時,該函數就是返回距該表描述的時間的數值。這樣的時間表有如下的區間:
前三項是必需的,如果未定義后幾項,默認時間為正午(12:00:00)。如果是在里約熱內盧(格林威治向西三個時區)的一臺Unix計算機上(相對時間為1970年1月1日,00:00:00),對于pc機(中國時區而言)有稍微更改,更改了為1970年1月1日,08:00:00,這是因我國與其它國家時間差導致。
例子:
print(os.time{year=1970, month=1, day=1,hour=8})
print(os.time{year=1970, month=1, day=1}) --若未定義“時,分,秒”,默認時間為正午(04:00:00)
運行結果:
-->0
-->14400(14400 = 46060 )
功能:返回一個按format格式化日期、時間的字串或表
說明:函數date,其實是time函數的一種“反函數”。它將一個表示日期和時間的數值,轉換成更高級的表現形式。其第一個參數是一個格式化字符串,描述了要返回的時間形式。第二個參數就是時間的數字表示,默認為當前的時間。
參數:format:
*t":將返一個帶year(4位),month(1-12), day (1--31), hour (0-23), min (0-59), sec (0-61), wday (星期幾, 星期天為1), yday (年內天數), and isdst (是否為日光節約時間true/false)的帶鍵名的表;
若沒有"*t"則返回一個按C的strftime函數格式化的字符串;
若不帶參數,則按當前系統的設置返回格式化的字符串 os.date() <=> os.date("%c")
例子:我當前PC時間,如圖:
代碼:
t = os.date("*t", os.time());
for i, v in pairs(t) do
print(i,"->",v);
end
運行結果 :
運行結果和以上時鐘的秒,不一致,你想,截圖也要時間的,呵呵。
如果使用帶標記(見下表)的特殊字符串,os.data函數會將相應的標記位以時間信息進行填充,得到一個包含時間的字符串。
例子:
print(os.date("today is %A, in %B"))
print(os.date("%X", 906000490))
運行結果:
同時,也可以使用明確的字符串格式方式(例如"%m/%d/%Y")
例子:
print(os.date("%m/%d/%Y", 906000490))
運行結果:
<img src="/attachments/image/cimg/ph2os.difftime (t2, t1)/h2p功能:返回t1到t2相差的秒數 /pp例子:/pprecodet1 = os.time();for i = 0, 100000 do os.time();endt2 = os.time();print(string.format(" t1:="" %d="" t2:="" %d",t1,t2))="" print(os.date("%x",="" t1))="" t2))="" print(os.difftime(t2,="" t1));="" code="" pre="" p運行結果:="" p="" pimg="" elapsed="" time="" :="" %.2f\n",="" os.clock()="" -="" x));<="">
運行結果: