1. 程式人生 > >Lua之os庫

Lua之os庫

os.clock ()

返回一個程式使用CPU時間的一個近似值

os.date ([format [, time]])

返回一個包含日期及時刻的字串或表。 格式化方法取決於所給字串 format

如果提供了 time 引數, 格式化這個時間 (這個值的含義參見 os.time 函式)。 否則,date 格式化當前時間。

如果 format 以 '!' 打頭, 日期以協調世界時格式化。 在這個可選字元項之後, 如果 format 為字串 "*t", date 返回有後續域的表: year

 (四位數字),month(1–12),day (1–31), hour (0–23),min (0–59),sec (0–61), wday (星期幾,星期天為 1 ), yday (當年的第幾天), 以及 isdst (夏令時標記,一個布林量)。 對於最後一個域,如果該資訊不提供的話就不存在。

如果 format 並非 "*t", date 以字串形式返回, 格式化方法遵循 ISO C 函式 strftime 的規則。

如果不傳引數呼叫, date 返回一個合理的日期時間串, 格式取決於宿主程式以及當前的區域設定 (即,os.date() 等價於 os.date("%c"))。

​
t = os.date("*t", os.time());
for i, v in pairs(t) do
      print(i, v);
end

​

格式化字串:

%a      一星期中天數的簡寫                      (Wed)
%A      一星期中天數的全稱                      (Wednesday)
%b      月份的簡寫                             (Sep)
%B      月份的全稱                             (September)
%c      日期和時間                             (09/16/98 23:48:10)
%d      一個月中的第幾天                        [0 ~ 31]
%H      24小時制中的小時數                      [00 ~ 23]
%I      12小時制中的小時數                      [01 ~ 12]
%j      一年中的第幾天                          [01 ~ 366]
%M      分鐘數                                 [00 ~ 59]
%m      月份數                                 [01 ~ 12]     
%P      "上午(am)" 或 "下午(pm)"                (pm)
%S      秒數                                   [00 ~ 59]
%w      一星期中的第幾天                        (3)[0 ~ 6 = 星期天 ~ 星期六]
%W    一年中的第幾個星期                 0 ~ 52
%x      日期                                   (09/16/98)
%X      時間                                   (23:48:10)
%y      兩位數的年份                            [00 ~ 99]
%Y      完整的年份                              (2009)
%%      字串'%'

os.difftime (t2, t1)

返回以秒計算的時刻 t1 到 t2 的差值。 (這裡的時刻是由 os.time 返回的值)

os.time ([table])

當不傳引數時,返回當前時刻。 如果傳入一張表,就返回由這張表表示的時刻。 這張表必須包含域 yearmonth,及 day; 可以包含有 hour (預設為 12 ), min(預設為 0), sec (預設為 0),以及 isdst (預設為 nil

 

未完待續。。