操作系统
OS系统接口:时间日期、冷却计时、文件改名删除 | 本页 11 个接口。登录全站学员账号后:给函数打 ✓ 记录学习进度、写私人备注。
os.clock ()
📖 用途
返回程序占用的 CPU 时间(秒,小数)。用于测某段代码的执行耗时。
📥 参数
无参数
📤 返回值
CPU 秒数(number)
💻 用法案例
local t = os.clock()
-- ...干重活...
print('耗时', os.clock() - t, '秒')
os.date ([format [, time]])
📖 用途
格式化日期时间。format 含 %Y年 %m月 %d日 %H时 %M分 %S秒;"*t" 返回年月日时分秒的表;无参返回默认格式串。做每日限次/整点活动必备。
📥 参数
| 参数 | 说明 |
|---|---|
| format | 格式串 或 "*t" |
| time | 时间戳,默认当前 |
📤 返回值
格式化字符串 或 时间表
💻 用法案例
print(os.date('%Y-%m-%d %H:%M')) --> 2026-09-20 10:30
local d = os.date('*t')
print(d.year, d.month, d.day, d.hour)
-- 每日限次: 比较日期串
local today = os.date('%Y%m%d')
os.difftime (t2, t1)
📖 用途
返回两个时间戳的差 t2 - t1(秒,浮点)。os.time 值相减通常已够用。
📥 参数
| 参数 | 说明 |
|---|---|
| t2 | 较晚时间 |
| t1 | 较早时间 |
📤 返回值
秒差
💻 用法案例
print(os.difftime(os.time{hour=12}, os.time{hour=8})) --> 14400
os.execute ([command])
📖 用途
调用操作系统执行外部命令。安全风险极大,游戏服务器环境通常禁用。
📥 参数
| 参数 | 说明 |
|---|---|
| command | 系统命令串 |
📤 返回值
成功 true;失败 nil;省略命令检测 shell
💻 用法案例
-- print(os.execute('echo hi'))说明:996 服务端:禁止在业务脚本里使用,会有安全隐患并可能被引擎封禁。
os.exit ([code])
📖 用途
终止宿主程序(对游戏来说就是直接关引擎/客户端!)。开发脚本绝对不要调用。
📥 参数
| 参数 | 说明 |
|---|---|
| code | 退出码,true/数字 |
📤 返回值
无(不会返回)
💻 用法案例
-- os.exit() -- 严禁在游戏脚本中调用!
说明:996 严禁使用:前端调用会导致客户端直接退出,服务端调用等于关服。
os.getenv (varname)
📖 用途
读取系统环境变量的值,不存在返回 nil。
📥 参数
| 参数 | 说明 |
|---|---|
| varname | 环境变量名 |
📤 返回值
变量值 或 nil
💻 用法案例
print(os.getenv('PATH'))
os.remove (filename)
📖 用途
删除文件(或空目录)。失败返回 nil+错误。
📥 参数
| 参数 | 说明 |
|---|---|
| filename | 文件路径 |
📤 返回值
成功 true;失败 nil, err
💻 用法案例
os.remove('临时.txt')
os.rename (old, new)
📖 用途
重命名文件/目录(也可当移动用)。失败返回 nil+错误。
📥 参数
| 参数 | 说明 |
|---|---|
| old | 旧名 |
| new | 新名 |
📤 返回值
成功 true;失败 nil, err
💻 用法案例
os.rename('old.lua', 'new.lua')
os.setlocale (locale [, category])
📖 用途
设置本地化区域(影响字符分类/数字格式等)。游戏脚本一般不动它。
📥 参数
| 参数 | 说明 |
|---|---|
| locale | 区域名 或 nil 查询 |
| category | 类别,默认 "all" |
📤 返回值
当前区域名 或 nil
💻 用法案例
print(os.setlocale()) --> 查询当前区域
os.time ([table])
📖 用途
取时间戳:无参=当前时间戳(秒);传表 {year,month,day[,hour,min,sec]} 得指定时刻的时间戳。做冷却、每日重置、限时活动的基石。
📥 参数
| 参数 | 说明 |
|---|---|
| table | 时间表 {year,month,day,hour,min,sec,[isdst]},省略取当前 |
📤 返回值
时间戳(秒)
💻 用法案例
print(os.time()) --> 1789951200
-- 指定时间的时间戳
local t = os.time{year=2026, month=10, day=1, hour=0}
print(os.time() < t) -- 国庆到了吗
-- 明天零点时间戳(每日刷新)
local next0 = os.time{year=os.date('*t').year, month=os.date('*t').month,
day=os.date('*t').day + 1, hour=0}
os.tmpname ()
📖 用途
生成一个临时文件名字符串(不创建文件)。配合 io.open 使用;一般用 io.tmpfile 更省心。
📥 参数
无参数
📤 返回值
临时文件名
💻 用法案例
local name = os.tmpname() print(name)
Lua 接口说明书 · 996引擎教学资料 · chuan2.cn · 共 136 个接口