# Lua的日期时间

2013/03/17 共 1819 字，约 6 分钟

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

• ”!”: 按格林尼治时间进行格式化。
• 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函数格式化的字符串。

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

hour  14
min   58
wday  2
day   10
month 8
year  2009
sec   18
yday  222
isdst false
``````

``````print(os.date("today is %A, in %B"))	-->today is Tuesday, in May
print(os.date("%x", 906000490))			-->09/16/1998
``````

## 格式化字符串

``````%a		一星期中天数的简写			（Wed）
%A      一星期中天数的全称			（Wednesday）
%b      月份的简写                  （Sep）
%B      月份的全称             		（September）
%c      日期和时间                 	（09/16/98 23:48:10）
%d      一个月中的第几天           	（16）[0 ~ 31]
%H      24小时制中的小时数        	（23）[00 ~ 23]
%I      12小时制中的小时数         	（11）[01 ~ 12]
%j      一年中的第几天           	（259）[01 ~ 366]
%M      分钟数                     	（48）[00 ~ 59]
%m      月份数                 		（09）[01 ~ 12]
%P      "上午(am)" 或 "下午(pm)"	(pm)
%S      秒数                     	（10）[00 ~ 59]
%w      一星期中的第几天          	（3）[0 ~ 6 = 星期天 ~ 星期六]
%W　　	一年中的第几个星期　　　　　0 ~ 52
%x      日期                    	（09/16/98）
%X      时间                        （23:48:10）
%y      两位数的年份                （90）[00 ~ 99]
%Y      完整的年份                 	（2009）
%%      字符串'%'
``````

# os.time([table])

table的字段：year, month, day, hour, min, sec, isdst

``````print(os.time()) 									-->1249887340
print(os.time({year=1970, month=1, day=1, hour=0}))	-->10500
``````

# os.difftime(t2, t1)

``````t1 = os.time() s = os.difftime(t1, tw) h = s/(60*60) m = s/60%60 S = s%60 print(s,h,m,S)
``````

# os.clock()

``````local x = os.clock();
print(os.clock())
local s = 0;
for i = 1, 100000000 do
s = s + i;
end
print(string.format("elapsed time : %.2f\n", os.clock() - x));
``````

# 获取年月日时分秒

``````local Y = os.date("%Y")
local M = os.date("%m")
local D = os.date("%d")
local Hour = os.date("%H")
local Minute = os.date("%M")
``````

# 解析日期字符串

``````
``````

# 获取几天前的时间

``````local dt1 = os.time()

function getPrevday(interval)
local offset = 60 *60 * 24 * interval
--指定的时间+时间偏移量
local newTime = os.date("*t", dt1 - tonumber(offset))
return newTime
end
``````
{"ft_lang_label":"__label__zh","ft_lang_prob":0.6677131,"math_prob":0.9949577,"size":2161,"snap":"2021-31-2021-39","text_gpt3_token_len":1104,"char_repetition_ratio":0.13305517,"word_repetition_ratio":0.0,"special_character_ratio":0.44377604,"punctuation_ratio":0.18123667,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9748227,"pos_list":[0],"im_url_duplicate_count":[null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2021-07-25T13:37:17Z\",\"WARC-Record-ID\":\"<urn:uuid:239876bf-7e92-423d-9e74-4dccc14b7c87>\",\"Content-Length\":\"26059\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:3b2c88e4-8352-4004-a55d-2fafb431cd70>\",\"WARC-Concurrent-To\":\"<urn:uuid:763d4e01-c5b6-40f0-bfd0-048fedb75704>\",\"WARC-IP-Address\":\"185.199.110.153\",\"WARC-Target-URI\":\"https://zhupite.com/lua/lua-date-time.html\",\"WARC-Payload-Digest\":\"sha1:INYSRG3U4OF6QBA437PHMVD2HJ2FAUYA\",\"WARC-Block-Digest\":\"sha1:B6AFRS5VCFVRJ6L5R7OU3T4QU6HYDT5Q\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2021/CC-MAIN-2021-31/CC-MAIN-2021-31_segments_1627046151672.96_warc_CC-MAIN-20210725111913-20210725141913-00500.warc.gz\"}"}