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)