- 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
广告