diff --git a/zh-cn/application-dev/js-reference/figures/subsystem_architecture_zh.png b/zh-cn/application-dev/js-reference/figures/subsystem_architecture_zh.png new file mode 100644 index 0000000000000000000000000000000000000000..49a5f627bb52581262718c18d90290db247c012b Binary files /dev/null and b/zh-cn/application-dev/js-reference/figures/subsystem_architecture_zh.png differ diff --git "a/zh-cn/application-dev/js-reference/\345\256\232\346\227\266\346\234\215\345\212\241.md" "b/zh-cn/application-dev/js-reference/\345\256\232\346\227\266\346\234\215\345\212\241.md" new file mode 100644 index 0000000000000000000000000000000000000000..1fe45e7ca70a7ecec4a35f77a24ead9d2dd69e90 --- /dev/null +++ "b/zh-cn/application-dev/js-reference/\345\256\232\346\227\266\346\234\215\345\212\241.md" @@ -0,0 +1,245 @@ +# 时间组件 + +- [简介](#section11660541593) +- [目录](#section161941989596) +- [说明](#section38521239153117) + - [js接口说明](#section11908203714422) + - [js接口使用说明](#section9938411124317) + +- [相关仓](#section1371113476307) + +## 简介 + +时间组件提供管理系统时间时区和定时的能力。 + +**图 1** 子系统架构图 +![](figures/subsystem_architecture_zh.png "子系统架构图") + +## 目录 + +``` +/base/miscservices/time +├── etc # 组件包含的进程的配置文件 +├── figures # 构架图 +├── interfaces # 组件对外提供的接口代码 +│ └── innerkits # 服务间接口 +│ └── kits # 对应用提供的接口 +├── profile # 组件包含的系统服务的配置文件 +└── services # 时间服务实现 +``` + +## 说明 + +### js接口说明 + +**表 1** js组件systemTime开放的主要方法 + + + + + + + + + + + + + + + + + + + + + + + + + +

接口名

+

描述

+

function setTime(time : number) : Promise<boolean>

+

设置系统时间(1970-01-01至今毫秒数),Promise方式

+

function setTime(time : number, callback : AsyncCallback<boolean>) : void

+

设置系统时间(1970-01-01至今毫秒数),callback方式

+

function setDate(date: Date, callback: AsyncCallback<boolean>): void;

+

设置系统时间(Date格式),Promise方式

+

function setDate(date: Date): Promise<boolean>

+

设置系统时间(Date格式),callback方式

+

function setTimezone(timezone: string, callback: AsyncCallback<boolean>): void

+

设置系统时区,callback方式

+

function setTimezone(timezone: string): Promise<boolean>

+

设置系统时区,Promise方式

+
+ + +**表 2** js组件systemTimer开放的主要方法 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

接口名

+

描述

+

function createTimer(options: TimerOptions, callback: AsyncCallback<number>): void

+

创建定时器,callback方式

+

function createTimer(options: TimerOptions): Promise<number>

+

创建定时器,promise方式

+

function startTimer(timer: number, triggerTime: number, callback: AsyncCallback<boolean>): void

+

开启定时器,callback方式

+

function startTimer(timer: number, triggerTime: number): Promise<boolean>

+

开启定时器,promise方式

+

function stopTimer(timer: number, callback: AsyncCallback<boolean>): void

+

停止定时器,callback方式

+

function stopTimer(timer: number): Promise<boolean>

+

停止定时器,promise方式

+

function destroyTimer(timer: number, callback: AsyncCallback<boolean>): void

+

销毁定时器,callback方式

+

function destroyTimer(timer: number): Promise<boolean>

+

摧毁定时器,promise方式

+
+ +**表 3** systemTimer组件参数TimerOptions说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

名称

+

类型

+

说明

+

type

+

number

+

TIMER_TYPE_REALTIME: 设置为系统启动时间定时器,否则为walltime定时器; + TIMER_TYPE_WAKEUP: 设置为唤醒定时器,否则为非唤醒; + const TIMER_TYPE_EXACT: 设置为精准定时器,否则为非精准定时器; + const TIMER_TYPE_IDLE: 设置为IDLE模式定时器,否则为非IDLE模式定时器(暂不支持) +

+

repeat

+

boolean

+

true 为循环定时器,false为单次定时器

+

interval

+

number

+

如果是循环定时器,repeat值应大于5000毫秒,非重复定时器置为0

+

wantAgent

+

wantAgent

+

设置通知的wantagent,定时器到期后通知

+

callback

+

=> void

+

设置回调函数,定时器到期后触发

+
+### js接口使用说明 + +systemTime模块使用示例: + +``` +// 导入模块 +import systemTime from '@ohos.systemTime'; + +// Promise方式的异步方法设置时间 +var time = 1611081385000; +systemTime.setTime(time) + .then((value) => { + console.log(`success to systemTime.setTime: ${value}`); + }).catch((err) => { + console.error(`failed to systemTime.setTime because ${err.message}`) + }); + + +// callback方式的异步方法设置时间 + +var time = 1611081385000; +systemTime.setTime(time, (err, value) => { + if (err) { + console.error(`failed to systemTime.setTime because ${err.message}`); + return; + } + console.log(`success to systemTime.setTime: ${value}`); + }); + +``` + +systemTimer模块使用示例: + +``` +// 导入模块 +import systemTimer from '@ohos.systemTimer'; + +console.log("start") +var options:TimerOptions{ + type:TIMER_TYPE_REALTIME, + repeat:false, + interval:Number.MAX_VALUE/2, + persistent:false +} + +console.log("create timer") +let timerId = systemTimer.Timer(options) +console.log("start timer") +let startTimerRes = systemTimer.startTimer(timerId, 100000) +console.log("stop timer") +let stopTimerRes = systemTimer.stopTimer(timerId) +console.log("destroy timer") +let destroyTimerRes = systemTimer.destroyTimer(timerId) +console.log('end'); + + +``` + +## 相关仓 + +**Misc软件服务子系统** + +miscservices\_time +