实时时钟-rtc
描述
实时时钟,对应硬件的RTC 芯片,由纽扣电池(型号CR1220)供电,即使系统掉电,该芯片仍继续工作。父对象为device.io,无子对象。
事件
无
属性
名称 |
功能说明 |
脚本例子 |
|---|---|---|
ntpEnabled |
使能网络时间,通过NTP协议同步网络时间,服务器地址由ntpServer属性指定 |
device.io.rtc.ntpEnabled=true 使能网络时间同步 |
ntpServer |
NTP(Network Time Protocol)网络时间服务器,如果使用多个地址,请使用逗号间隔 |
device.io.rtc.ntpServer='cn.pool.ntp.org,ntp.aliyun.com,ntp.tencent.com' 设定网络时间同步的NTP服务器地址 |
syncInterval |
同步间隔,以分钟为单位,默认为60分钟 |
device.io.rtc.syncInterval=1440 设置同步间隔为24小时 |
timezone |
时区,默认为8,北京时间 |
device.io.rtc.timezone=8 设置时区为东8区,北京时间 |
方法
名称 |
功能说明 |
脚本例子 |
|---|---|---|
getTime() |
读取当前时间 无参数时返回时间字符串格式为 hh:mm:ss, 如:12:01:03; |
var time=device.io.rtc.getTime() 读取当前时间,返回如 '12:01:03'
|
getTime(format) |
读取当前时间,参数为 'ms'时,返回自epoch(1970-1-100:00:00)到当前时间的毫秒数,一般用于测量时间;参数为'hh:mm:ss'时,返回格式化后的时间 |
var ms=device.io.rtc.getTime('ms') 读取自epoch到当前时间的毫秒数(UTC时间戳)
var time=device.io.rtc.getTime('hh:mm') 读取当前时间,并格式化为小时:分钟,返回如 '12:01'
|
getDateTime() |
读取当前日期和时间,返回字符串格式为yyyy-MM-dd hh:mm:ss |
var date=device.io.rtc.getDateTime() 读取日期和时间,返回如 '2026-06-04 12:23:10' |
getDateTime(format) |
读取指定格式的日期和时间,日期的格式如 yyyy-MM-dd,时间格式如 hh:mm:ss |
var date=device.io.rtc.getDateTime('MM-dd hh:mm') 读取月日时分,返回如 '06-04 12:23' |
setDateTime(format) |
设置日期和时间,格式为yyyy-MM-dd hh:mm:ss |
device.io.rtc.setDateTime('2021-05-21 11:30:00') 设置系统日期和时间 |
setTime(time) |
设置时间,参数time为时间字符串,时间格式: hh:mm:ss(注意:模拟器不能模拟设置时间) |
device.io.rtc.setTime('01:02:00') 调整时钟时间为1点2分0秒 |
getDate() getDate(format) |
读取当前日期 无参数时返回固定格式:yyyy-MM-dd, 如:2018-01-20 有参数时返回自定义格式,如 yy-MM-dd, 返回 18-01-20 |
var date=device.io.rtc.getDate() 读取当前日期,并存入变量date |
setDate(date) |
设置日期,参数date为日期字符串,时间格式: yyyy-MM-dd (注意:模拟器不能模拟设置日期) |
device.io.rtc.setDate('2018-09-20') 调整日期为2018年9月20日 |
getDayOfWeek() |
获取星期几,返回值为 1~7, 1表示星期一,7表示星期日,其它值以此类推 |
var day = device.io.rtc.getDayOfWeek() 获取星期几 |
addYear(count) |
加/减年,参数count为正表示加,为负表示减 (注意:模拟器不能模拟修改日期) |
device.io.rtc.addYear(1) 年加1 |
addMonth(count) |
加/减月,参数count为正表示加,为负表示减(注意:模拟器不能模拟修改日期) |
device.io.rtc.addMonth(1) 月加1 |
addDay(count) |
加/减日,参数count为正表示加,为负表示减(注意:模拟器不能模拟修改日期) |
device.io.rtc.addDay(1) 日加1 |
addHour(count) |
加/减时,参数count为正表示加,为负表示减(注意:模拟器不能模拟修改时间) |
device.io.rtc.addHour(1) 小时加1 |
addMinute(count) |
加/减分,参数count为正表示加,为负表示减(注意:模拟器不能模拟修改时间) |
device.io.rtc.addMinute(1) 分钟加1 |
addSecond(count) |
加/减秒,参数count为正表示加,为负表示减(注意:模拟器不能模拟修改时间) |
device.io.rtc.addSecond(1) 秒数加1 |
syncNetworkTime() |
手动同步一次网络时间(设备必须已连接互联网),时间服务器地址由ntpServer属性设置 |
device.io.rtc.syncNetworkTime() 同步网络时间 |
使用说明
RTC时间校准:
设备第一次安装纽扣电池后,需要校准一次时间才能正常工作。要不然系统时间会在每次上电后从1970-01-01 08:00:00开始。
如果设备能通过USB线连接电脑,可以通过调试器来同步电脑的当前时间;如果设备能通过网线或者WiFi/4G连接互联网,也可以通过网络来自动同步时间。