1、用數值表示時間值
用數字值來表示時間值,
實際上時間值的本質就是乙個數字值。
例如:d = 1131286477
這裡的 1131286477 是乙個以秒為單位的 格林威志時間(gmt),注意不同時區的時差
2、用字串表示時間
用字串來來表示時間。
例如:d = "2005-11-06 22:18:30" --2023年11月6日 22點18分30秒
d = "11/06/2005 22:18:30" --即2023年11月6日 22點18分30秒
3、時間的列**式
用table物件來表示時間
例如:d =
--同樣表示2023年11月6日 22點18分30秒,其中isdst=false表示不使用夏令時
我們可以這樣訪問時間列表 d.year = 2005;
time = os.time()
返回乙個標準的number(數值)格式的時間值,這也是最原始的時間值
os.time()返回的時間是以秒為單位的。
1、獲取當前時間數值
time = os.time();
--如果沒有指定任何引數,則返回當前時間
2、通過table引數指定時間,獲取指定的時間數值
time = os.time(tab);
通過乙個table引數,指定乙個時間,返回時間的數值格式.
例如:local tab =
--year表示年,month表示月,day表示日期,hour表示小時,min表示分鐘,sec表示秒,isdst表示是否夏令時
time = os.time(tab)
-->返回值為1131286710
tab = os.date("*t",time)
可以將乙個數值格式的時間轉換為字串或者列表
其中第乙個引數指定返回的格式,如果第乙個引數指定為"*t" 則返回乙個table格式的時間。
第二個引數指定乙個時間數值(以秒為單位)
1、獲取當前時間的table格式
tab = os.date("*t")
如果不指定os.date的第二個引數,則返回當前時間的table表示格式
2、通過時間數值,獲取指定時間的table格式
tab = os.date("*t", time)
通過os.date函式的第二個引數指定乙個時間數值。
例如:local tab = os.date("*t", 1131286710);
--返回值 tab 的資料
--year表示年,month表示月,day表示日期,hour表示小時,min表示分鐘,sec表示秒,isdst表示是否夏令時
--tab成包括一些其他的成員 tab.yday 表示一年中的第幾天 tab.wday 表示星期幾(星期天為1)
time = os.time(tab)
-->返回值為1131286710
tab = os.date(format,time)
實際上與取得table格式的時間一樣,同樣是使用os.date引數,不同的是第乙個引數
如果第乙個引數不是"*t" os.date返回字串
關於format引數使用的格式化語法,請參考:string.ftime格式化語法
os.date 的用法與 string.ftime 完全相同
例如:win.consoleopen()
print( os.date("today is %a, in %b") )
print( os.date("%x", 906000490) )
--輸出類似這樣的字串 09/16/1998
1、獲取當前時間的字串(string)格式
如果不指定os.date的第二個引數,則返回當前時間的table表示格式
例如:str= os.date("*x")
2、通過時間數值,獲取指定時間的(string)格式
通過os.date函式的第二個引數指定乙個時間數值。
例如:str= os.date("*x",1131286710)
3、獲取時間的指定部份的(string)格式
例如:str = os.date("%m") --返回當前時間分鐘部份的字串格式
請參考:string.time string.ftime 函式用法
int = os.difftime(t2,t1);
t2,t1都是數值格式的時間值,返回值也是乙個數值表示間隔的時間。
引數以及返回的時間值都是以秒為單位的數值格式。
local tab =
t1 = os.time(tab)
tab.day = tab.day +1;--前進一天
t2 = os.time(tab)
int = os.difftime(t2,t1);
win.messagebox(int.."秒","時間差"
int = os.tick();
讀取系統時鐘,以毫秒為單位。表示從系統啟動到當前時刻所過去的毫秒數。
int = os.clock()
讀取系統時鐘,以秒為單位。表示從系統啟動到當前時刻所過去的秒數。
注意
因為內部實現的差異,os.tick 與 os.clock()的返回值並不完全一致。
Lua時間戳和日期轉換
os.date y m d h unixtime os.date y m d h 1534435200 2018081700 指定日期的時間戳 os.time 1534435200os.time 時間格式 yyyymmddhhmmss print os.date y m d h m s os.tim...
lua 差值 日期 lua時間戳和日期轉換及踩坑
介紹lua的日期函式常用方法及我的乙個踩坑。時間戳轉日期 os.date y m d h unixtime os.date y m d h 1534435200 2018081700 日期轉時間戳 指定日期的時間戳 os.time 1534435200 當前時間戳 os.time 格式佔位符 時間格...
lua 時間控制
os.time 返回當前系統的日曆時間 os.date 返回本地化的時間字串,這裡是 11 28 08 17 23 37 os.date x os.time 返回自定義格式化時間字串 完整的格式化引數 這裡是 11 28 08 os.clock 返回執行該程式cpu花去的時鐘秒數,這裡是1156.7...