在 Lua 中,你可以使用 `os.date()` 函数轻松地将时间戳转换为格式化的时间字符串


在 Lua 中,你可以使用 `os.date` 函数轻松地将时间戳转换为格式化的时间字符串

  • [⏳ 核心函数:os.date()](#⏳ 核心函数:os.date())
  • [⌨️ 基础示例](#⌨️ 基础示例)
  • [🔤 常用格式化选项](#🔤 常用格式化选项)
  • [🌐 时区处理](#🌐 时区处理)
  • [💡 实用技巧](#💡 实用技巧)

在 Lua 中,你可以使用 os.date() 函数轻松地将时间戳转换为格式化的时间字符串。这个函数允许你自定义输出的时间格式。


⏳ 核心函数:os.date()

os.date() 函数接收两个参数:

  • format: 格式化字符串,指定你希望的时间显示形式。
  • time: 可选参数,表示要转换的时间戳(以秒为单位)。如果省略,则使用当前时间。

⌨️ 基础示例

lua 复制代码
	-- 定义一个时间戳(例如:2021年3月25日 11:09:39 左右)
	local timestamp = 1616634579
	
	-- 转换为格式化的时间字符串
	local formattedTime = os.date("%Y-%m-%d %H:%M:%S", timestamp)
	print(formattedTime) -- 输出:2021-03-25 11:09:39

🔤 常用格式化选项

你可以根据需要组合这些格式符,例如 %Y-%m-%d 输出 2021-03-25%H:%M:%S 输出 11:09:39

格式符 含义 示例
%Y 四位数的年份 2021
%y 两位数的年份 21
%m 月份(01-12) 03
%d 一个月中的第几天(01-31) 25
%H 小时(24小时制,00-23) 11
%I 小时(12小时制,01-12) 11
%M 分钟(00-59) 09
%S 秒(00-59) 39
%A 星期几的全称 Thursday
%a 星期几的简写 Thu
%B 月份的全称 March
%b 月份的简写 Mar
%c 默认的日期和时间表示 Thu Mar 25 11:09:39 2021

🌐 时区处理

默认情况下,os.date() 会使用你所在地区的本地时间。如果你需要转换为 UTC(协调世界时) ,可以在格式化字符串前加上 !

lua 复制代码
	-- 获取当前时间的 UTC 格式
	local utcTime = os.date("!%Y-%m-%d %H:%M:%S")
	print(utcTime) -- 输出类似:2025-09-30 05:16:00 (UTC时间)
	
	-- 转换指定时间戳为 UTC
	local utcTimeSpecific = os.date("!%Y-%m-%d %H:%M:%S", 1616634579)
	print(utcTimeSpecific)

💡 实用技巧

  • 获取当前时间 :不传入时间戳参数即可。

    lua 复制代码
    local currentTime = os.date("%Y-%m-%d %H:%M:%S")
    print(currentTime) -- 输出当前的本地时间
  • 获取时间戳 :使用 os.time() 函数获取当前时间的时间戳。

    lua 复制代码
    local currentTimestamp = os.time()
    print(currentTimestamp) -- 输出自 1970-01-01 00:00:00 UTC 以来的秒数
  • 时间字符串转时间戳 :使用 os.time() 并传入一个包含日期时间信息的表。

    lua 复制代码
    -- 定义一个表示日期时间的表
    local timeTable = {year=2021, month=3, day=25, hour=11, min=9, sec=39}
    -- 转换为时间戳
    local timestampFromTable = os.time(timeTable)
    print(timestampFromTable) -- 输出:1616634579

希望这些信息能帮到大家!


相关推荐
思麟呀2 小时前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
星释2 小时前
Rust 练习册 :Pythagorean Triplet与数学算法
开发语言·算法·rust
星释3 小时前
Rust 练习册 :Nth Prime与素数算法
开发语言·算法·rust
lkbhua莱克瓦243 小时前
Java基础——集合进阶3
java·开发语言·笔记
多喝开水少熬夜3 小时前
Trie树相关算法题java实现
java·开发语言·算法
QT 小鲜肉3 小时前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
lsx2024064 小时前
MySQL WHERE 子句详解
开发语言
Tony Bai4 小时前
【Go模块构建与依赖管理】09 企业级实践:私有仓库与私有 Proxy
开发语言·后端·golang
Lucky小小吴4 小时前
开源项目5——Go版本快速管理工具
开发语言·golang·开源