在 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

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


相关推荐
陳10301 分钟前
C++:红黑树
开发语言·c++
一切尽在,你来6 分钟前
C++ 零基础教程 - 第 6 讲 常用运算符教程
开发语言·c++
泉-java8 分钟前
第56条:为所有导出的API元素编写文档注释 《Effective Java》
java·开发语言
weixin_4997715527 分钟前
C++中的组合模式
开发语言·c++·算法
初级代码游戏28 分钟前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
_waylau31 分钟前
鸿蒙架构师修炼之道-架构师的职责是什么?
开发语言·华为·harmonyos·鸿蒙
2的n次方_42 分钟前
CANN Ascend C 编程语言深度解析:异构并行架构、显式存储层级与指令级精细化控制机制
c语言·开发语言·架构
java干货1 小时前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
_F_y1 小时前
C语言重点知识总结(含KMP详细讲解)
c语言·开发语言
毕设源码-郭学长1 小时前
【开题答辩全过程】以 基于python的二手房数据分析与可视化为例,包含答辩的问题和答案
开发语言·python·数据分析