跳转至

ntp - 网络授时

适用范围

层面 说明
运行环境 LuatOS-Air 脚本框架,展锐 8910 平台(Air724UG / Air722UG / Air795UG / Air720UH 等)
前提条件 需数据链路 + 可访问的 NTP 服务器;无网络时拿不到时间
不适用 Air780E 及以后跑 LuatOS 的 Cat.1 模组;这些模组的同名库在 osapi 里是另一套接口,不能照抄

重要提醒!!!!!!

本功能模块采用多个免费公共的NTP服务器来同步时间

并不能保证任何时间任何地点都能百分百同步到正确的时间

所以,如果用户项目中的业务逻辑严格依赖于时间同步功能

则不要使用使用本功能模块,建议使用自己的应用服务器来同步时间

参考 http://ask.openluat.com/article/912 加深对授时功能的理解

ntp.timeSync(period, fnc, fun)

ntp同步时间任务.

重要提醒!!!!!!
本功能模块采用多个免费公共的NTP服务器来同步时间
并不能保证任何时间任何地点都能百分百同步到正确的时间
所以,如果用户项目中的业务逻辑严格依赖于时间同步功能
则不要使用使用本功能模块,建议使用自己的应用服务器来同步时间

参数

名称 传入值类型 释义
period number 可选参数,默认为nil 调用本接口会立即同步一次;每隔period小时再自动同步1次,nil表示仅同步一次
fnc function 可选参数,默认为nil 同步结束,设置系统时间后的回调函数,回调函数的调用形式为:
fnc(time,result)
time表示设置之后的系统时间,table类型,例如{year=2017,month=2,day=14,hour=14,min=19,sec=23}
result为true表示成功,false或者nil为失败
fun function 可选参数,默认为nil 同步结束,设置系统时间前的回调函数,回调函数的调用形式为:fun()

返回值

nil

例子

-- 立即同步一次(仅同步这一次):
ntp.timeSync()
-- 立即同步一次,之后每隔1小时自动同步一次:
ntp.timeSync(1)
-- 立即同步一次(仅同步这一次),同步结束后执行fnc(time,result):
ntp.timeSync(nil,fnc)
-- 立即同步一次,之后每隔24小时自动同步一次,每次同步结束后执行fnc(time,result):
ntp.timeSync(24,fnc)

搜索