os - os操作
{bdg-success}已适配
{bdg-primary}Air780E
{bdg-primary}Air780EP
{bdg-primary}Air780EPS
{bdg-primary}Air780EQ
{bdg-primary}Air700EAQ
{bdg-primary}Air700EMQ
{bdg-primary}Air700ECQ
{bdg-primary}Air201
本页文档由[这个文件](https://gitee.com/openLuat/LuatOS/tree/master/luat/../lua/src/loslib.c)自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!
本库有专属demo,[点此链接查看os的demo例子](https://gitee.com/openLuat/LuatOS/tree/master/demo/os_date_time)
示例
-- os模块是lua原生模块, 这份文档是为了方便阐述实际使用中的常见问题
-- 原生文档请查阅 https://wiki.luatos.com/_static/lua53doc/manual.html#6.9
os.remove(path)
移除文件
参数
传入值类型 | 解释 |
---|---|
string | 待移除的文件完整路径 |
返回值
返回值类型 | 解释 |
---|---|
bool | 成功返回true,其他情况返回nil |
string | 失败时返回原因字符串 |
例子
-- 删除根目录下的某个文件
os.remove("/1.txt")
-- 注意, 线刷时的文件, 一般在 /luadb 目录, 这个目录下的文件是只读的
-- 也就是无法执行 os.remove("/luadb/xxx.bin")
os.rename(old_path, new_path)
文件重命名
参数
传入值类型 | 解释 |
---|---|
string | 源文件完整路径 |
string | 目标文件完整路径 |
返回值
返回值类型 | 解释 |
---|---|
bool | 成功返回true,其他情况返回nil |
string | 失败时返回原因字符串 |
例子
-- 注意, 只有在相同文件系统下的文件可以重命名
-- 例如:
os.rename("/1.txt", "/2.txt")
-- 不同文件系统, 或者源文件系统是只读的, 则无法执行
--os.rename("/luadb/1.txt", "/luadb/2.txt")
--os.rename("/luadb/1.txt", "/2.txt")
os.clock()
返回程序使用的按秒计 CPU 时间的近似值
参数
传入值类型 | 解释 |
---|---|
return | 时间戳 |
返回值
无
例子
-- 不推荐使用本API
-- 如需要获取 时间戳, 请使用 os.time()
-- 如需获取系统运行时长, 请使用 mcu.ticks()
os.date(fmt, time)
日期函数
参数
传入值类型 | 解释 |
---|---|
string | 格式化字符串,可以是nil |
table | 日期时间的table |
返回值
返回值类型 | 解释 |
---|---|
table/string | 根据fmt的不同,返回值不同 |
例子
-- 值得注意的几点:
-- 1. 若需要UTC时间, fmt的第一个字符写"!"
-- 2. fmt的格式化遵循 C 函数 strftime, 可以查阅 https://developer.aliyun.com/article/320480
-- 获取本地时间字符串
log.info("本地时间字符串", os.date())
-- 获取UTC时间字符串
log.info("UTC时间字符串", os.date("!%c"))
-- 格式化本地时间字符串
log.info("本地时间字符串", os.date("%Y-%m-%d %H:%M:%S"))
-- 格式化UTC时间字符串
log.info("UTC时间字符串", os.date("!%Y-%m-%d %H:%M:%S"))
-- 格式化时间字符串
log.info("自定义时间的字符串", os.date("!%Y-%m-%d %H:%M:%S", os.time({year=2000, mon=1, day=1, hour=0, min=0, sec=0})))
-- 获取本地时间的table
log.info("本地时间字符串", json.encode(os.date("*t")))
-- 获取UTC时间的table
log.info("UTC时间字符串", json.encode(os.date("!*t")))
os.time(mytime)
时间戳函数
参数
传入值类型 | 解释 |
---|---|
table | 日期时间的table |
return | 时间戳 |
返回值
无
例子
-- 注意注意, 这个函数返回的是UTC时间戳
-- 时间戳, 但lua下的精度只能到秒
log.info("UTC时间戳", os.time())
log.info("自定义时间戳", os.time({year=2000, mon=1, day=1, hour=0, min=0, sec=0}))
os.difftime(timeA, timeB)
时间差值
参数
传入值类型 | 解释 |
---|---|
int | 时间A,数值类型 |
int | 时间B,数值类型 |
返回值
返回值类型 | 解释 |
---|---|
int | 时间差值 |
例子
无