Lua Memo

書式に従って日時文字列(テーブル)を返す

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

format は、Cの関数 strftime と同じルールに従って書式化される。つまり、以下のオプションの通り。

参考) Linux Programmer's Manual - STRFTIME より抜粋

もし、format が `!´ で始まっていたら、 日付は世界時 (Universal Time) で書式化される。

もし、format が *t であれば、 date は以下のフィールドを持つテーブルを返す。

year (4桁の数値)
month (1--12)
day (1--31)
hour (0--23)
min (0--59)
sec (0--61)
wday (曜日、日曜日が1)
yday (1月1日から数えた日数)
isdst (夏時間を示すフラグ、ブーリアン)

sample

普通の書式文字列を指定した場合

print(os.date("%Y-%m-%d %H:%M:%S")) --> (例) 2009-06-27 15:02:08

「*t」を指定した場合

-- (1)
print(os.date("%c"))
-- (2)
tbl = os.date("*t")
for k,v in pairs(tbl) do
  print(k, v)
end
--[[ 実行結果は次のようになる
06/28/09 15:21:48
hour	15
min	21
wday	1
day	28
month	6
year	2009
sec	48
yday	179
isdst	false
--]]