下面是一些關於 Lua 中日期和時間處理的資源。
- [os.time] - 取得系統時間。根據參考手冊,「傳回值是一個數字,而其意義取決於你的系統。在 POSIX、Windows 和其他系統中,這個數字表示自某個給定開始時間(「Epoch」)以來經過的秒數。在其他系統中,其意義未指定,而且 time 所傳回的數字只能當成 [date] 和 [difftime] 的引數使用。
- [os.clock] - 取得程式所使用的 CPU 時間(近似值,單位為秒)。這個函式是以 ANSI C 的
clock
[1] 函式所實作,而這個值的精確意義取決於實作。例如,在 Linux 中,clock
傳回的是「CPU 時間」[2][3],它只計算處理程序使用 CPU 的時間,而不計算執行其他處理程序或等候 I/O 的時間。CPU 時間可能少於真實時間(「牆上時鐘時間」)。在 Windows 中,clock
會計算處理程序開始執行時間起所經過的真實時間(牆上時鐘時間)[4]。在 Windows 和 Linux 中,clock
的解析度約為毫秒,比 time
函式精確;不過,在其他系統中,其解析度可能只到 1 秒。如果用來表示 clock_t
的資料類型溢位,clock
的值也會遞迴。這個函式有時比 os.time
更適合於進行效能基準測試:local clock = os.clock; local t1 = clock(); dosomething(); local dt = clock() - t1
。
- [os.date] - 傳回一個字串或一個表格,其中包含日期和時間,會根據指定的字串格式進行格式化。
- TimeZone - 以 +hhmm 或 -hhmm 的形式傳回時區字串(可移植)。
- [LuaDate] - 純 Lua 日期和時間模組(適用於 Lua 5.0/5.1),具有以下特色:日期和時間字串解析、時間加減法、時間跨度計算、支援 ISO 8601 日期、本地時間支援,以及類似 strftime 的格式化功能。
- [時間] (LuaJIT 2.0) - 主要使用格里曆(世界上大多數應用中公認的日曆)計算日期和時間區的純 LuaJIT 函式庫。支援時間運算,微秒精準。
- [luaposix] 包含一些日期/時間函式(POSIX,C wrapper)[lposix.c]。函式:gettimeofday()、time()、localtime([時間])、gmtime([時間])、lock_getres([時脈 ID])、clock_gettime([時脈 ID])、strftime(格式, [時間])、(tm, 下一個 = strptime(s, 格式))、ctime = mktime(tm)。
最近變更 · 喜好設定
編輯 · 歷史記錄
上次編輯:2016 年 7 月 26 日星期二上午 7:44 GMT (diff)