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
廣告
© . All rights reserved.