js-apis-system-time.md 17.0 KB
Newer Older
M
MangTsang 已提交
1
# 系统时间、时区
Z
zengyawen 已提交
2

M
MangTsang 已提交
3
本模块主要由系统时间和系统时区功能组成。开发者可以设置、获取系统时间及系统时区。
4

5 6 7
> **说明:**
>
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
8 9

## 导入模块
Z
zengyawen 已提交
10

11
```js
Z
zengyawen 已提交
12 13 14
import systemTime from '@ohos.systemTime';
```

Z
zengyawen 已提交
15 16 17 18
## systemTime.setTime

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

19
设置系统时间,使用callback异步回调。
Z
zengyawen 已提交
20

21
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
22

23
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
24

25 26
**参数:**

27 28
| 参数名   | 类型            | 必填 | 说明                                       |
| -------- | ----------- | ---- | ---------------- |
29
| time     | number                    | 是   | 目标时间戳(ms)。                         |
30
| callback | AsyncCallback<void> | 是   | 回调函数。 |
Z
zengyawen 已提交
31

32
**示例:**
33

34 35 36 37 38 39 40 41 42 43 44
```js
// time对应的时间为2021-01-20 02:36:25
let time = 1611081385000;
systemTime.setTime(time, (error, data) => {
    if (error) {
        console.error(`Failed to set systemTime. Cause:` + JSON.stringify(error));
        return;
    }
    console.log(`Succeeded in setting systemTime. Data:` + JSON.stringify(data));
});
```
Z
zengyawen 已提交
45 46 47 48 49

## systemTime.setTime

setTime(time : number) : Promise<void>

50
设置系统时间,使用Promise异步回调。
Z
zengyawen 已提交
51

52
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
53

54
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
55

56 57
**参数:**

58 59 60
| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
| time   | number | 是   | 目标时间戳(ms)。 |
61 62

**返回值:**
Z
zengyawen 已提交
63

64 65 66
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise<void> | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
67

68
**示例:**
69

70 71 72 73 74 75 76 77 78
```js
// time对应的时间为2021-01-20 02:36:25
let time = 1611081385000;
systemTime.setTime(time).then((data) => {
    console.log(`Succeeded in setting systemTime. Data:` + JSON.stringify(data));
}).catch((error) => {
    console.error(`Failed to set systemTime. Cause:` + JSON.stringify(error));
});
```
Z
zengyawen 已提交
79

Z
zengyawen 已提交
80 81
## systemTime.getCurrentTime<sup>8+</sup>

82
getCurrentTime(isNano: boolean, callback: AsyncCallback&lt;number&gt;): void
Z
zengyawen 已提交
83

84
获取自Unix纪元以来经过的时间,使用callback异步回调。
Z
zengyawen 已提交
85

86
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
87

88 89
**参数:**

90 91 92 93
| 参数名   | 类型       | 必填 | 说明                             |
| -------- | -------------- | ---- | ------------------ |
| isNano   | boolean                     | 是   | 返回结果是否为纳秒数。<br>- true:表示返回结果为纳秒数(ns)。 <br>- false:表示返回结果为毫秒数(ms)。 |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自Unix纪元以来经过的时间。         |
Z
zengyawen 已提交
94

95
**示例:**
96

97 98 99 100 101 102 103 104 105
```js
systemTime.getCurrentTime(true, (error, data) => {
    if (error) {
        console.error(`Failed to get systemTime. Cause:` + JSON.stringify(error));
        return;
    }
    console.log(`Succeeded in getting systemTime. Data:` + JSON.stringify(data));
});
```
Z
zengyawen 已提交
106

107 108 109 110
## systemTime.getCurrentTime<sup>8+</sup>

getCurrentTime(callback: AsyncCallback&lt;number&gt;): void

111
获取自Unix纪元以来经过的时间,使用callback异步回调。
112 113 114 115 116

**系统能力:** SystemCapability.MiscServices.Time

**参数:**

117 118 119
| 参数名   | 类型               | 必填 | 说明                            |
| -------- | ----------- | ---- | ---------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自Unix纪元以来经过的时间。         |
120 121 122

**示例:**

123 124 125 126 127 128 129 130 131
```js
systemTime.getCurrentTime((error, data) => {
    if (error) {
        console.error(`Succeeded in getting systemTime. Data:` + JSON.stringify(error));
        return;
    }
    console.log(`Failed to get systemTime. Cause:` + JSON.stringify(data));
});
```
132

Z
zengyawen 已提交
133 134 135 136
## systemTime.getCurrentTime<sup>8+</sup>

getCurrentTime(isNano?: boolean): Promise&lt;number&gt;

137
获取自Unix纪元以来经过的时间,使用Promise异步回调。
Z
zengyawen 已提交
138

139
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
140

141 142
**参数:**

143 144 145
| 参数名 | 类型    | 必填 | 说明                     |
| ------ | ------- | ---- | ------------------------- |
| isNano | boolean | 否   | 返回结果是否为纳秒数。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 |
Z
zengyawen 已提交
146

147 148
**返回值:**

149 150 151
| 类型        | 说明                               |
| --------------------- | --------------------------- |
| Promise&lt;number&gt; | Promise对象,返回自Unix纪元以来经过的时间。 |
Z
zengyawen 已提交
152

153
**示例:**
154

155 156 157 158 159 160 161
```js
systemTime.getCurrentTime().then((data) => {
    console.log(`Succeeded in getting systemTime. Data:` + JSON.stringify(data));
}).catch((error) => {
    console.error(`Failed to get systemTime. Cause:` + JSON.stringify(error));
});
```
Z
zengyawen 已提交
162 163 164

## systemTime.getRealActiveTime<sup>8+</sup>

165
getRealActiveTime(isNano: boolean, callback: AsyncCallback&lt;number&gt;): void
Z
zengyawen 已提交
166

167
获取自系统启动以来经过的时间,不包括深度睡眠时间,使用callback异步回调。
Z
zengyawen 已提交
168

169
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
170

171 172
**参数:**

173 174 175
| 参数名   | 类型                        | 必填 | 说明   |
| -------- | ---------- | ---- | -------------------------- |
| isNano   | boolean                     | 是   | 返回结果是否为纳秒数。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 |
176
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自系统启动以来经过的时间,但不包括度睡眠时间。 |
Z
zengyawen 已提交
177

178
**示例:**
179

180 181 182 183 184 185 186 187 188
```js
systemTime.getRealActiveTime(true, (error, data) => {
    if (error) {
        console.error(`Failed to get real active time. Cause:` + JSON.stringify(error));
        return;
    }
    console.log(`Succeeded in getting real active time. Data:` + JSON.stringify(data));
});
```
Z
zengyawen 已提交
189

190 191 192 193
## systemTime.getRealActiveTime<sup>8+</sup>

getRealActiveTime(callback: AsyncCallback&lt;number&gt;): void

194
获取自系统启动以来经过的时间,不包括深度睡眠时间,使用callback异步回调。
195 196 197 198 199

**系统能力:** SystemCapability.MiscServices.Time

**参数:**

200 201
| 参数名   | 类型                        | 必填 | 说明    |
| -------- | -------------- | ---- | --------------------- |
202 203 204 205
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自系统启动以来经过的时间,但不包括度睡眠时间。 |

**示例:**

206 207 208 209 210 211 212 213 214
```js
systemTime.getRealActiveTime((error, data) => {
    if (error) {
        console.error(`Failed to get real active time. Cause:` + JSON.stringify(error));
        return;
    }
    console.log(`Succeeded in getting real active time. Data:` + JSON.stringify(data));
});
```
Z
zengyawen 已提交
215 216 217 218 219

## systemTime.getRealActiveTime<sup>8+</sup>

getRealActiveTime(isNano?: boolean): Promise&lt;number&gt;

220
获取自系统启动以来经过的时间,不包括深度睡眠时间,使用Promise异步回调。
Z
zengyawen 已提交
221

222
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
223

224 225
**参数:**

226 227 228
| 参数名 | 类型    | 必填 | 说明                              |
| ------ | ------- | ---- | ----------------------------------- |
| isNano | boolean | 否   | 返回结果是否为纳秒数。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 |
Z
zengyawen 已提交
229

230 231
**返回值:**

232 233 234
| 类型                  | 说明         |
| -------------- | -------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回自系统启动以来经过的时间,但不包括深度睡眠时间。 |
Z
zengyawen 已提交
235

236
**示例:**
237

238 239 240 241 242 243 244
```js
systemTime.getRealActiveTime().then((data) => {
    console.log(`Succeeded in getting real active time. Data:` + JSON.stringify(data));
}).catch((error) => {
    console.error(`Failed to get real active time. Cause:` + JSON.stringify(error));
});
```
Z
zengyawen 已提交
245 246 247

## systemTime.getRealTime<sup>8+</sup>

248
getRealTime(isNano: boolean, callback: AsyncCallback&lt;number&gt;): void
Z
zengyawen 已提交
249

250
获取自系统启动以来经过的时间,包括深度睡眠时间,使用callback异步回调。
Z
zengyawen 已提交
251

252
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
253

254 255
**参数:**

256 257 258
| 参数名   | 类型                        | 必填 | 说明   |
| -------- | --------------- | ---- | ------------------------------- |
| isNano   | boolean                     | 是   | 返回结果是否为纳秒数。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 |
259
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自系统启动以来经过的时间,包括深度睡眠时间。   |
Z
zengyawen 已提交
260

261
**示例:**
262

263 264 265 266 267 268 269 270 271
```js
systemTime.getRealTime(true, (error, data) => {
    if (error) {
        console.error(`Failed to get real time. Cause:` + JSON.stringify(error));
        return;
    }
    console.log(`Succeeded in getting real time. Data:` + JSON.stringify(data));
});
```
Z
zengyawen 已提交
272 273 274

## systemTime.getRealTime<sup>8+</sup>

275 276
getRealTime(callback: AsyncCallback&lt;number&gt;): void

277
获取自系统启动以来经过的时间,包括深度睡眠时间,使用callback异步回调。
278 279 280 281 282

**系统能力:** SystemCapability.MiscServices.Time

**参数:**

283 284
| 参数名   | 类型                        | 必填 | 说明      |
| -------- | --------- | ---- | --------------------------- |
285 286 287 288
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自系统启动以来经过的时间,包括深度睡眠时间。   |

**示例:**

289 290 291 292 293 294 295 296 297
```js
systemTime.getRealTime((error, data) => {
    if (error) {
        console.error(`Failed to get real time. Cause:` + JSON.stringify(error));
        return;
    }
    console.log(`Succeeded in getting real time. Data:` + JSON.stringify(data));
});
```
298 299 300

## systemTime.getRealTime<sup>8+</sup>

301
getRealTime(isNano?: boolean): Promise&lt;number&gt;
Z
zengyawen 已提交
302

303
获取自系统启动以来经过的时间,包括深度睡眠时间,使用Promise异步回调。
Z
zengyawen 已提交
304

305
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
306

307 308
**参数:**

309 310 311
| 参数名 | 类型    | 必填 | 说明                               |
| ------ | ------- | ---- | ------------------------------- |
| isNano | boolean | 否   | 返回结果是否为纳秒数。<<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 |
Z
zengyawen 已提交
312

313 314
**返回值:**

315 316 317
| 类型                  | 说明       |
| --------------------- | ------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回自系统启动以来经过的时间,包括深度睡眠时间。 |
Z
zengyawen 已提交
318

319
**示例:**
320

321 322 323 324 325 326 327
```js
systemTime.getRealTime().then((data) => {
    console.log(`Succeeded in getting real time. Data:` + JSON.stringify(data));
}).catch((error) => {
    console.error(`Failed to get real time. Cause:` + JSON.stringify(error));
});
```
Z
zengyawen 已提交
328

Z
zengyawen 已提交
329 330 331 332
## systemTime.setDate

setDate(date: Date, callback: AsyncCallback&lt;void&gt;): void

333
设置系统日期,使用callback异步回调。
Z
zengyawen 已提交
334

335
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
336

337
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
338

339 340
**参数:**

341 342
| 参数名   | 类型                      | 必填 | 说明             |
| -------- | ------------- | ---- | --------------------- |
343
| date     | Date                      | 是   | 目标日期。                                 |
344
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
345

346
**示例:**
347

348 349 350 351 352 353 354 355 356 357
```js
let data = new Date();
systemTime.setDate(data,(error, data) => {       
    if (error) {            
    console.error('Failed to set system date. Cause:' + JSON.stringify(error));           
    return;       
}        
    console.info('Succeeded in setting system date. Data:' + JSON.stringify(data));    
});
```
Z
zengyawen 已提交
358 359 360 361 362

## systemTime.setDate

setDate(date: Date): Promise&lt;void&gt;

363
设置系统日期,使用Promise异步回调。
Z
zengyawen 已提交
364

365
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
366

367
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
368

369 370
**参数:**

371 372 373
| 参数名 | 类型 | 必填 | 说明       |
| ------ | ---- | ---- | ---------- |
| date   | Date | 是   | 目标日期。 |
Z
zengyawen 已提交
374

375 376
**返回值:**

377 378
| 类型                | 说明                 |
| ------------------- | -------------------- |
379
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
380

381
**示例:**
382

383 384 385 386 387 388 389 390
```js
let data = new Date(); 
systemTime.setDate(data).then((value) => {        
    console.log(`Succeeded in setting system date. Data:` + JSON.stringify(value));    
}).catch((error) => {        
    console.error(`Failed to set system date. Cause:` + JSON.stringify(error));
});
```
Z
zengyawen 已提交
391 392 393 394 395

## systemTime.getDate<sup>8+</sup>

getDate(callback: AsyncCallback&lt;Date&gt;): void

396
获取当前系统日期,使用callback异步回调。
Z
zengyawen 已提交
397

398
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
399

400 401
**参数:**

402 403
| 参数名   | 类型           | 必填 | 说明                   |
| -------- | -------------- | ---- | --------------------- |
404
| callback | AsyncCallback&lt;Date&gt; | 是   | 回调函数,返回当前系统日期。 |
Z
zengyawen 已提交
405

406
**示例:**
407

408 409 410 411 412 413 414 415 416
```js
systemTime.getDate((error, data) => {
    if (error) {
        console.error(`Failed to get system date. Cause:` + JSON.stringify(error));
        return;
    }
    console.log(`Succeeded in getting system date. Data:` + JSON.stringify(data));
});
```
Z
zengyawen 已提交
417 418 419 420 421

## systemTime.getDate<sup>8+</sup>

getDate(): Promise&lt;Date&gt;

422
获取当前系统日期,使用Promise异步回调。
Z
zengyawen 已提交
423

424
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
425

426 427
**返回值:**

428 429
| 类型                | 说明                                      |
| ------------------- | ----------------------------------------- |
430
| Promise&lt;Date&gt; | Promise对象,返回当前系统日期。 |
Z
zengyawen 已提交
431

432
**示例:**
433

434 435 436 437 438 439 440
```js
systemTime.getDate().then((data) => {
    console.log(`Succeeded in getting system date. Data:` + JSON.stringify(data));
}).catch((error) => {
    console.error(`Failed to get system date. Cause:` + JSON.stringify(error));
});
```
Z
zengyawen 已提交
441 442 443 444 445

## systemTime.setTimezone

setTimezone(timezone: string, callback: AsyncCallback&lt;void&gt;): void

446
设置系统时区,使用callback异步回调。
Z
zengyawen 已提交
447

448
**需要权限:** ohos.permission.SET_TIME_ZONE
Z
zengyawen 已提交
449

450
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
451

452 453
**参数:**

454 455
| 参数名   | 类型              | 必填 | 说明                  |
| -------- | ------------- | ---- | -------------------------- |
456
| timezone | string                    | 是   | 系统时区。                                 |
457
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
458

459
**示例:**
460

461 462 463 464 465 466 467 468 469
```js
systemTime.setTimezone('Asia/Shanghai', (error, data) => {       
    if (error) {          
        console.error('Failed to set system time zone. Cause:' + JSON.stringify(error));         
        return;       
    }       
    console.info('Succeeded in setting system time zone. Data:' + JSON.stringify(data)); 
});
```
Z
zengyawen 已提交
470 471 472 473 474

## systemTime.setTimezone

setTimezone(timezone: string): Promise&lt;void&gt;

475
设置系统时区,使用Promise异步回调。
Z
zengyawen 已提交
476

477
**需要权限:** ohos.permission.SET_TIME_ZONE
Z
zengyawen 已提交
478

479
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
480

481 482
**参数:**

483 484 485
| 参数名   | 类型   | 必填 | 说明       |
| -------- | ------ | ---- | ---------- |
| timezone | string | 是   | 系统时区。 |
Z
zengyawen 已提交
486

487 488
**返回值:**

489 490
| 类型                | 说明                 |
| ------------------- | -------------------- |
491
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
492

493
**示例:**
494

495 496 497 498 499 500 501
```js
systemTime.setTimezone('Asia/Shanghai').then((data) => {        
    console.log(`Succeeded in setting system time zone. Data:` + JSON.stringify(data));     
}).catch((error) => {        
    console.error(`Failed to set system time zone. Cause:` + JSON.stringify(error));    
});
```
Z
zengyawen 已提交
502

503
## systemTime.getTimezone<sup>8+</sup>
Z
zengyawen 已提交
504

505
getTimezone(callback: AsyncCallback&lt;string&gt;): void
Z
zengyawen 已提交
506

507
获取系统时区,使用callback异步回调。
Z
zengyawen 已提交
508

509
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
510

511 512
**参数:**

513 514
| 参数名   | 类型              | 必填 | 说明                 |
| -------- | --------- | ---- | ------------------------ |
515
| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数,返回系统时区。 |
Z
zengyawen 已提交
516

517
**示例:**
518

519 520 521 522 523 524 525 526 527
```js
systemTime.getTimezone((error, data) => {
    if (error) {
        console.error(`Failed to get system time zone. Cause:` + JSON.stringify(error));
        return;
    }
    console.log(`Succeeded in getting system time zone. Data:` + JSON.stringify(data));
});
```
Z
zengyawen 已提交
528

529
## systemTime.getTimezone<sup>8+</sup>
Z
zengyawen 已提交
530

531
getTimezone(): Promise&lt;string&gt;
Z
zengyawen 已提交
532

533
获取系统时区,使用Promise异步回调。
Z
zengyawen 已提交
534

535
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
536

537 538
**返回值:**

539 540
| 类型                  | 说明                                  |
| --------------------- | ------------------------------------- |
541
| Promise&lt;string&gt; | Promise对象,返回系统时区。 |
Z
zengyawen 已提交
542

543
**示例:**
544

545 546 547 548 549 550 551
```js
systemTime.getTimezone().then((data) => {
    console.log(`Succeeded in getting system time zone. Data:` + JSON.stringify(data));
}).catch((error) => {
    console.error(`Failed to get system time zone. Cause:` + JSON.stringify(error));
});
```