在 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

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


相关推荐
李绍熹6 小时前
C语言基础语法示例
c语言·开发语言
kiki-bf6 小时前
使用python把图片转为word
开发语言·python·word
光羽隹衡6 小时前
Python中的网络爬虫
开发语言·爬虫·python
不会写DN6 小时前
fmt 包中的所有 Print 系列函数
开发语言·后端·golang·go
南棱笑笑生6 小时前
20251213给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-6.1】系统时适配CTP触摸屏FT5X06
linux·c语言·开发语言·rockchip
兩尛7 小时前
高频提问部分
开发语言·后端·ruby
深蓝电商API8 小时前
企业级爬虫架构设计:任务调度、容错、重试、降重
开发语言·爬虫·ruby
芝麻开门-新起点8 小时前
第13-1章 Python地理空间开发
开发语言·python
肥大毛8 小时前
C++入门学习---结构体
开发语言·c++·学习
小明记账簿8 小时前
JavaScript浮点数精度问题及解决方案
开发语言·javascript·ecmascript