实时时钟-rtc

描述

_image 实时时钟,对应硬件的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开始。

../../_images/rtc-date-invalid.png
  • 如果设备能通过USB线连接电脑,可以通过调试器来同步电脑的当前时间;如果设备能通过网线或者WiFi/4G连接互联网,也可以通过网络来自动同步时间。

../../_images/rtc-sync-from-pc.png