- Lua 教程
- Lua - 首頁
- Lua 基礎
- Lua - 概述
- Lua - 環境
- Lua - 基本語法
- Lua - 註釋
- Lua - 列印 Hello World
- Lua - 變數
- Lua - 資料型別
- Lua - 運算子
- Lua - 迴圈
- Lua - 決策
- Lua - 函式
- Lua - 日期和時間
- Lua 陣列
- Lua - 陣列
- Lua - 多維陣列
- Lua - 陣列長度
- Lua - 遍歷陣列
- Lua 迭代器
- Lua - 迭代器
- Lua 列表
- Lua - 在列表中搜索
- Lua 模組
- Lua - 模組
- Lua - 名稱空間
- Lua 元表
- Lua - 元表
- Lua 協程
- Lua - 協程
- Lua 檔案處理
- Lua - 檔案I/O
- Lua 庫
- Lua - 標準庫
- Lua - 數學庫
- Lua - 作業系統功能
- Lua 有用資源
- Lua - 快速指南
- Lua - 有用資源
- Lua - 討論
Lua - 日期與時間
Lua 提供以下函式來執行所有日期和時間操作,例如獲取格式化日期、日期操作、獲取當前時間、獲取時間差等。
date()− 此函式用於獲取格式化日期、當前日期
time()− 此函式用於根據提供的引數獲取特定時間戳
clock()− 此函式提供 CPU 時鐘時間,可用於計算執行時間
difftime()− 此實用程式函式可用於獲取兩個時間戳之間的秒差
以下示例展示了各種場景。
示例 - 獲取當前日期和時間
下面顯示了一個獲取當前日期和時間的簡單示例。
main.lua
currentDate = os.date() print(currentDate)
輸出
執行上述程式時,我們可能會得到類似的輸出。
Wed Oct 16 09:28:49 2024
示例 - 獲取格式化日期
下面顯示了一個獲取格式化日期的簡單示例。
main.lua
formattedDate = os.date("%d-%m-%Y")
print(formattedDate)
輸出
執行上述程式時,我們可能會得到類似的輸出。
15-10-2024
格式程式碼
要指定時間格式,請使用時間模式字串。在此模式中,所有 ASCII 字母都保留為模式字母,定義如下:
| 字元 | 描述 | 示例 |
|---|---|---|
| a | 縮寫星期名 | 週三 |
| A | 完整星期名 | 星期三 |
| b | 縮寫月份名 | 九月 |
| B | 完整月份名 | 九月 |
| c | 日期和時間 | 09/16/98 23:48:10 |
| d | 月份中的某一天 | (16)[01-31] |
| H | 小時,使用 24 小時制 | (23) [00-23] |
| I | 小時,使用 12 小時制 | (11) [01-12] |
| M | 分鐘 | (48) [00-59] |
| m | 月份 | (09) [01-12] |
| p | “am”或“pm” | (pm) |
| S | 秒 | (10) [00-61] |
| w | 星期幾 | (3) [0-6 = 星期日-星期六] |
| x | 日期 | 09/16/98 |
| X | 時間 | 23:48:10 |
| Y | 全年 | 1998 |
| y | 兩位數年份 | (98) [00-99] |
| % | 字元 `%` | % |
示例 - 獲取秒差
下面顯示了一個獲取時間戳及其之間差值的簡單示例。
main.lua
time1 = os.time({year = 2024, month = 9, day = 15, hour = 8, min = 0})
time2 = os.time({year = 2024, month = 9, day = 15, hour = 9, min = 0})
diff = os.difftime(time2, time1)
print("Time difference:", diff, "seconds")
輸出
執行上述程式後,我們將獲得以下輸出。
Time difference: 3600.0 seconds
示例 - 獲取執行時間
下面顯示了一個獲取任何耗時過程執行時間的簡單示例。
main.lua
-- CPU Start Time
startTime = os.clock()
-- a time-consuming task
for i = 1, 10000000 do
math.sqrt(i)
end
-- CPU End Time
endTime = os.clock()
-- Print the elapsed time
print("Elapsed CPU time:", endTime - startTime, "seconds")
輸出
執行上述程式時,我們可能會得到類似的輸出。
Elapsed CPU time: 0.225313 seconds
廣告