js-apis-system-time.md 29.6 KB
Newer Older
1
# @ohos.systemTime (系统时间、时区)
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';
```

W
wangtong 已提交
15
## systemTime.setTime<sup>(deprecated)</sup>
Z
zengyawen 已提交
16 17 18

setTime(time : number, callback : AsyncCallback&lt;void&gt;) : 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&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
31

W
wangtong 已提交
32 33 34 35 36 37 38 39
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                                     |
| -------- | ------------------------------------------------------------ |
| -1       | The parameter check failed or permission denied or system error. |

40
**示例:**
41

42 43 44
```js
// time对应的时间为2021-01-20 02:36:25
let time = 1611081385000;
W
wangtong 已提交
45
try {
46 47 48 49 50 51 52
  systemTime.setTime(time, (error) => {
    if (error) {
      console.info(`Failed to setting time. message: ${error.message}, code: ${error.code}`);
      return;
    }
    }console.info(`Succeeded in setting time`);
  });
W
wangtong 已提交
53
} catch(e) {
54
  console.info(`Failed to set time. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
55
}
56
```
Z
zengyawen 已提交
57

W
wangtong 已提交
58
## systemTime.setTime<sup>(deprecated)</sup>
Z
zengyawen 已提交
59 60 61

setTime(time : number) : Promise&lt;void&gt;

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

64
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
65

66
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
67

68 69
**参数:**

70 71 72
| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
| time   | number | 是   | 目标时间戳(ms)。 |
73 74

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

76 77 78
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
79

W
wangtong 已提交
80 81 82 83 84 85 86 87
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                                     |
| -------- | ------------------------------------------------------------ |
| -1       | The parameter check failed or permission denied or system error. |

88
**示例:**
89

90 91 92
```js
// time对应的时间为2021-01-20 02:36:25
let time = 1611081385000;
W
wangtong 已提交
93
try {
94 95 96 97 98
  systemTime.setTime(time).then(() => {
    console.info(`Succeeded in setting time.`);
  }).catch((error) => {
    console.info(`Failed to setting time. message: ${error.message}, code: ${error.code}`);
  });
W
wangtong 已提交
99
} catch(e) {
100
  console.info(`Failed to set time. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
101
}
102
```
Z
zengyawen 已提交
103

W
wangtong 已提交
104
## systemTime.getCurrentTime<sup>(deprecated)</sup>
Z
zengyawen 已提交
105

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

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

W
wangtong 已提交
110 111 112 113
>  **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getCurrentTime](./js-apis-system-date-time.md#systemdatetimegetcurrenttime)替代。

114
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
115

116 117
**参数:**

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

W
wangtong 已提交
123 124 125 126 127 128 129 130
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

131
**示例:**
132

133
```js
W
wangtong 已提交
134
try {
135 136 137 138 139 140 141
  systemTime.getCurrentTime(true, (error, time) => {
    if (error) {
      console.info(`Failed to getting currentTime. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in getting currentTime: ${time}`);
  });
W
wangtong 已提交
142
} catch(e) {
143
  console.info(`Failed to get currentTime. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
144
}
145
```
Z
zengyawen 已提交
146

W
wangtong 已提交
147
## systemTime.getCurrentTime<sup>(deprecated)</sup>
148 149 150

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

151
获取自Unix纪元以来经过的时间,使用callback异步回调。
152

W
wangtong 已提交
153 154 155 156
> **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getCurrentTime](./js-apis-system-date-time.md#systemdatetimegetcurrenttime-1)替代。

157 158 159 160
**系统能力:** SystemCapability.MiscServices.Time

**参数:**

161 162 163
| 参数名   | 类型               | 必填 | 说明                            |
| -------- | ----------- | ---- | ---------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自Unix纪元以来经过的时间。         |
164

W
wangtong 已提交
165 166 167 168 169 170 171 172
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

173 174
**示例:**

175
```js
W
wangtong 已提交
176
try {
177 178 179 180 181 182 183
  systemTime.getCurrentTime((error, time) => {
    if (error) {
      console.info(`Failed to getting currentTime. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in getting currentTime : ${time}`);
  });
W
wangtong 已提交
184
} catch(e) {
185
  console.info(`Failed to get currentTime. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
186
}
187
```
188

W
wangtong 已提交
189
## systemTime.getCurrentTime<sup>(deprecated)</sup>
Z
zengyawen 已提交
190 191 192

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

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

W
wangtong 已提交
195 196 197 198
>  **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getCurrentTime](./js-apis-system-date-time.md#systemdatetimegetcurrenttime-2)替代。

199
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
200

201 202
**参数:**

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

207 208
**返回值:**

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

W
wangtong 已提交
213 214 215 216 217 218 219 220
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

221
**示例:**
222

223
```js
W
wangtong 已提交
224
try {
225 226 227 228 229
  systemTime.getCurrentTime().then((time) => {
    console.info(`Succeeded in getting currentTime : ${time}`);
  }).catch((error) => {
    console.info(`Failed to getting currentTime. message: ${error.message}, code: ${error.code}`);
  });
W
wangtong 已提交
230
} catch(e) {
231
  console.info(`Failed to get currentTime. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
232
}
233
```
Z
zengyawen 已提交
234

W
wangtong 已提交
235
## systemTime.getRealActiveTime<sup>(deprecated)</sup>
Z
zengyawen 已提交
236

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

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

W
wangtong 已提交
241 242 243 244
> **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getRealActiveTime](./js-apis-system-date-time.md#systemdatetimegetrealactivetime)替代。

245
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
246

247 248
**参数:**

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

W
wangtong 已提交
254 255 256 257 258 259 260 261
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

262
**示例:**
263

264
```js
W
wangtong 已提交
265
try {
266 267 268 269 270 271 272
  systemTime.getRealActiveTime(true, (error, time) => {
    if (error) {
      console.info(`Failed to getting real active time. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in getting real active time : ${time}`);
  });
W
wangtong 已提交
273
} catch(e) {
274
  console.info(`Failed to get real active time. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
275
}
276
```
Z
zengyawen 已提交
277

W
wangtong 已提交
278
## systemTime.getRealActiveTime<sup>(deprecated)</sup>
279 280 281

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

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

W
wangtong 已提交
284 285 286 287
>  **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getRealActiveTime](./js-apis-system-date-time.md#systemdatetimegetrealactivetime-1)替代。

288 289 290 291
**系统能力:** SystemCapability.MiscServices.Time

**参数:**

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

W
wangtong 已提交
296 297 298 299 300 301 302 303
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

304 305
**示例:**

306
```js
W
wangtong 已提交
307
try {
308 309 310 311 312 313 314
  systemTime.getRealActiveTime((error, time) => {
    if (error) {
      console.info(`Failed to getting real active time. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in getting real active time : ${time}`);
  });
W
wangtong 已提交
315
} catch(e) {
316
  console.info(`Failed to get real active time. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
317
}
318
```
Z
zengyawen 已提交
319

W
wangtong 已提交
320
## systemTime.getRealActiveTime<sup>(deprecated)</sup>
Z
zengyawen 已提交
321 322 323

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

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

W
wangtong 已提交
326 327 328 329
>  **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getRealActiveTime](./js-apis-system-date-time.md#systemdatetimegetrealactivetime-2)替代。

330
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
331

332 333
**参数:**

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

338 339
**返回值:**

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

W
wangtong 已提交
344 345 346 347 348 349 350 351
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

352
**示例:**
353

354
```js
W
wangtong 已提交
355
try {
356 357 358 359 360
  systemTime.getRealActiveTime().then((time) => {
    console.info(`Succeeded in getting real active time : ${time}`);
  }).catch((error) => {
    console.info(`Failed to getting real active time. message: ${error.message}, code: ${error.code}`);
  });
W
wangtong 已提交
361
} catch(e) {
362
  console.info(`Failed to get real active time. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
363
}
364
```
Z
zengyawen 已提交
365

W
wangtong 已提交
366
## systemTime.getRealTime<sup>(deprecated)</sup>
Z
zengyawen 已提交
367

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

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

W
wangtong 已提交
372 373 374 375
> **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getRealTime](./js-apis-system-date-time.md#systemdatetimegetrealtime)替代。

376
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
377

378 379
**参数:**

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

W
wangtong 已提交
385 386 387 388 389 390 391 392
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

393
**示例:**
394

395
```js
W
wangtong 已提交
396
try {
397 398 399 400 401 402 403
  systemTime.getRealTime(true, (error, time) => {
    if (error) {
      console.info(`Failed to getting real time. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in getting real time : ${time}`);
  });
W
wangtong 已提交
404
} catch(e) {
405
  console.info(`Failed to get real time. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
406
}
407
```
Z
zengyawen 已提交
408

W
wangtong 已提交
409
## systemTime.getRealTime<sup>(deprecated)</sup>
Z
zengyawen 已提交
410

411 412
getRealTime(callback: AsyncCallback&lt;number&gt;): void

413
获取自系统启动以来经过的时间,包括深度睡眠时间,使用callback异步回调。
414

W
wangtong 已提交
415 416 417 418
>  **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getRealTime](./js-apis-system-date-time.md#systemdatetimegetrealtime-1)替代。

419 420 421 422
**系统能力:** SystemCapability.MiscServices.Time

**参数:**

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

W
wangtong 已提交
427 428 429 430 431 432 433 434
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

435 436
**示例:**

437
```js
W
wangtong 已提交
438
try {
439 440 441 442 443 444 445
  systemTime.getRealTime((error, time) => {
    if (error) {
      console.info(`Failed to getting real time. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in getting real time : ${time}`);
  });
W
wangtong 已提交
446
} catch(e) {
447
  console.info(`Failed to get real time. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
448
}
449
```
450

W
wangtong 已提交
451
## systemTime.getRealTime<sup>(deprecated)</sup>
452

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

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

W
wangtong 已提交
457 458 459 460
> **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getRealTime](./js-apis-system-date-time.md#systemdatetimegetrealtime-2)替代。

461
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
462

463 464
**参数:**

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

469 470
**返回值:**

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

W
wangtong 已提交
475 476 477 478 479 480 481 482
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

483
**示例:**
484

485
```js
W
wangtong 已提交
486
try {
487 488 489 490 491
  systemTime.getRealTime().then((time) => {
    console.info(`Succeeded in getting real time : ${time}`);
  }).catch((error) => {
    console.info(`Failed to getting real time. message: ${error.message}, code: ${error.code}`);
  });
W
wangtong 已提交
492
} catch(e) {
493
  console.info(`Failed to get real time. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
494
}
495
```
Z
zengyawen 已提交
496

W
wangtong 已提交
497
## systemTime.setDate<sup>(deprecated)</sup>
Z
zengyawen 已提交
498 499 500

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

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

503
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
504

505
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
506

507 508
**参数:**

509 510
| 参数名   | 类型                      | 必填 | 说明             |
| -------- | ------------- | ---- | --------------------- |
511
| date     | Date                      | 是   | 目标日期。                                 |
512
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
513

W
wangtong 已提交
514 515 516 517 518 519 520 521
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                                     |
| -------- | ------------------------------------------------------------ |
| -1       | The parameter check failed or permission denied or system error. |

522
**示例:**
523

524
```js
W
wangtong 已提交
525 526
let date = new Date();
try {
527 528 529 530 531 532 533
  systemTime.setDate(date, (error) => {
    if (error) {
      console.info(`Failed to setting date. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in setting date.`);
  });
W
wangtong 已提交
534
} catch(e) {
535
  console.info(`Failed to set date. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
536
}
537
```
Z
zengyawen 已提交
538

W
wangtong 已提交
539
## systemTime.setDate<sup>(deprecated)</sup>
Z
zengyawen 已提交
540 541 542

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

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

545
**需要权限:** ohos.permission.SET_TIME
Z
zengyawen 已提交
546

547
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
548

549 550
**参数:**

551 552 553
| 参数名 | 类型 | 必填 | 说明       |
| ------ | ---- | ---- | ---------- |
| date   | Date | 是   | 目标日期。 |
Z
zengyawen 已提交
554

555 556
**返回值:**

557 558
| 类型                | 说明                 |
| ------------------- | -------------------- |
559
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
560

W
wangtong 已提交
561 562 563 564 565 566 567 568
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                                     |
| -------- | ------------------------------------------------------------ |
| -1       | The parameter check failed or permission denied or system error. |

569
**示例:**
570

571
```js
W
wangtong 已提交
572 573
let date = new Date(); 
try {
574 575 576 577 578
  systemTime.setDate(date).then(() => {
    console.info(`Succeeded in setting date.`);
  }).catch((error) => {
    console.info(`Failed to setting date. message: ${error.message}, code: ${error.code}`);
  });
W
wangtong 已提交
579
} catch(e) {
580
  console.info(`Failed to set date. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
581
}
582
```
Z
zengyawen 已提交
583

W
wangtong 已提交
584
## systemTime.getDate<sup>(deprecated)</sup>
Z
zengyawen 已提交
585 586 587

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

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

W
wangtong 已提交
590 591 592 593
> **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getDate](./js-apis-system-date-time.md#systemdatetimegetdate)替代。

594
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
595

596 597
**参数:**

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

W
wangtong 已提交
602 603 604 605 606 607 608 609
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

610
**示例:**
611

612
```js
W
wangtong 已提交
613
try {
614 615 616 617 618 619 620
  systemTime.getDate((error, date) => {
    if (error) {
      console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in get date : ${date}`);;
  });
W
wangtong 已提交
621
} catch(e) {
622
  console.info(`Failed to get date. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
623
}
624
```
Z
zengyawen 已提交
625

W
wangtong 已提交
626
## systemTime.getDate<sup>(deprecated)</sup>
Z
zengyawen 已提交
627 628 629

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

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

W
wangtong 已提交
632 633 634 635
>  **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getDate](./js-apis-system-date-time.md#systemdatetimegetdate-1)替代。

636
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
637

638 639
**返回值:**

640 641
| 类型                | 说明                                      |
| ------------------- | ----------------------------------------- |
642
| Promise&lt;Date&gt; | Promise对象,返回当前系统日期。 |
Z
zengyawen 已提交
643

W
wangtong 已提交
644 645 646 647 648 649 650 651
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

652
**示例:**
653

654
```js
W
wangtong 已提交
655
try {
656 657 658 659 660
  systemTime.getDate().then((date) => {
    console.info(`Succeeded in getting date : ${date}`);
  }).catch((error) => {
    console.info(`Failed to getting date. message: ${error.message}, code: ${error.code}`);
  });
W
wangtong 已提交
661
} catch(e) {
662
  console.info(`Failed to get date. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
663
}
664
```
Z
zengyawen 已提交
665

W
wangtong 已提交
666
## systemTime.setTimezone<sup>(deprecated)</sup>
Z
zengyawen 已提交
667 668 669

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

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

672
**需要权限:** ohos.permission.SET_TIME_ZONE
Z
zengyawen 已提交
673

674
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
675

676 677
**参数:**

678 679
| 参数名   | 类型              | 必填 | 说明                  |
| -------- | ------------- | ---- | -------------------------- |
680
| timezone | string                    | 是   | 系统时区。 具体可见[支持的系统时区](#支持的系统时区) 。        |
681
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
682

W
wangtong 已提交
683 684 685 686 687 688 689 690
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                                     |
| -------- | ------------------------------------------------------------ |
| -1       | The parameter check failed or permission denied or system error. |

691
**示例:**
692

693
```js
W
wangtong 已提交
694
try {
695 696 697 698 699 700 701
  systemTime.setTimezone('Asia/Shanghai', (error) => {
    if (error) {
      console.info(`Failed to setting timezone. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in setting timezone.`);
  });
W
wangtong 已提交
702
} catch(e) {
703
  console.info(`Failed to set timezone. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
704
}
705
```
Z
zengyawen 已提交
706

W
wangtong 已提交
707
## systemTime.setTimezone<sup>(deprecated)</sup>
Z
zengyawen 已提交
708 709 710

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

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

713
**需要权限:** ohos.permission.SET_TIME_ZONE
Z
zengyawen 已提交
714

715
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
716

717 718
**参数:**

719 720
| 参数名   | 类型   | 必填 | 说明       |
| -------- | ------ | ---- | ---------- |
721
| timezone | string | 是   | 系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 |
Z
zengyawen 已提交
722

723 724
**返回值:**

725 726
| 类型                | 说明                 |
| ------------------- | -------------------- |
727
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
728

W
wangtong 已提交
729 730 731 732 733 734 735 736
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                                     |
| -------- | ------------------------------------------------------------ |
| -1       | The parameter check failed or permission denied or system error. |

737
**示例:**
738

739
```js
W
wangtong 已提交
740
try {
741 742 743 744 745
  systemTime.setTimezone('Asia/Shanghai').then(() => {
    console.info(`Succeeded in setting timezone.`);
  }).catch((error) => {
    console.info(`Failed to setting timezone. message: ${error.message}, code: ${error.code}`);
  });
W
wangtong 已提交
746
} catch(e) {
747
  console.info(`Failed to set timezone. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
748
}
749
```
Z
zengyawen 已提交
750

W
wangtong 已提交
751
## systemTime.getTimezone<sup>(deprecated)</sup>
Z
zengyawen 已提交
752

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

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

W
wangtong 已提交
757 758 759 760
> **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getTimezone](./js-apis-system-date-time.md#systemdatetimegettimezone)替代。

761
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
762

763 764
**参数:**

765 766
| 参数名   | 类型              | 必填 | 说明                 |
| -------- | --------- | ---- | ------------------------ |
767
| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数,返回系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 |
Z
zengyawen 已提交
768

W
wangtong 已提交
769 770 771 772 773 774 775 776
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

777
**示例:**
778

779
```js
W
wangtong 已提交
780
try {
781 782 783 784 785 786 787
  systemTime.getTimezone((error, data) => {
    if (error) {
      console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in get timezone : ${data}`);;
  });
W
wangtong 已提交
788
} catch(e) {
789
  console.info(`Failed to get timezone. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
790
}
791
```
Z
zengyawen 已提交
792

W
wangtong 已提交
793
## systemTime.getTimezone<sup>(deprecated)</sup>
Z
zengyawen 已提交
794

795
getTimezone(): Promise&lt;string&gt;
Z
zengyawen 已提交
796

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

W
wangtong 已提交
799 800
> **说明:**
>
801
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[systemDateTime.getTimezone](./js-apis-system-date-time.md#systemdatetimegettimezone-1)替代。
W
wangtong 已提交
802

803
**系统能力:** SystemCapability.MiscServices.Time
Z
zengyawen 已提交
804

805 806
**返回值:**

807 808
| 类型                  | 说明                                  |
| --------------------- | ------------------------------------- |
809
| Promise&lt;string&gt; | Promise对象,返回系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 |
Z
zengyawen 已提交
810

W
wangtong 已提交
811 812 813 814 815 816 817 818
**错误码:**

以下错误码的详细介绍请参见[时间时区错误码](../errorcodes/errorcode-time.md)

| 错误码ID | 错误信息                                    |
| -------- | ------------------------------------------- |
| -1       | The parameter check failed or system error. |

819
**示例:**
820

821
```js
W
wangtong 已提交
822
try {
823 824 825 826 827
  systemTime.getTimezone().then((data) => {
    console.info(`Succeeded in getting timezone: ${data}`);
  }).catch((error) => {
    console.info(`Failed to getting timezone. message: ${error.message}, code: ${error.code}`);
  });
W
wangtong 已提交
828
} catch(e) {
829
  console.info(`Failed to get timezone. message: ${e.message}, code: ${e.code}`);
W
wangtong 已提交
830
}
831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869
```

## 支持的系统时区

支持的系统时区及各时区与0时区相比的偏移量(单位:h)可见下表。

| 时区                           | 偏移量         |
| ------------------------------ | --------------------- |
| Antarctica/McMurdo             | 12                    |
| America/Argentina/Buenos_Aires | -3                    |
| Australia/Sydney               | 10                    |
| America/Noronha                | -2                    |
| America/St_Johns               | -3                    |
| Africa/Kinshasa                | 1                     |
| America/Santiago               | -3                    |
| Asia/Shanghai                  | 8                     |
| Asia/Nicosia                   | 3                     |
| Europe/Berlin                  | 2                     |
| America/Guayaquil              | -5                    |
| Europe/Madrid                  | 2                     |
| Pacific/Pohnpei                | 11                    |
| America/Godthab                | -2                    |
| Asia/Jakarta                   | 7                     |
| Pacific/Tarawa                 | 12                    |
| Asia/Almaty                    | 6                     |
| Pacific/Majuro                 | 12                    |
| Asia/Ulaanbaatar               | 8                     |
| America/Mexico_City            | -5                    |
| Asia/Kuala_Lumpur              | 8                     |
| Pacific/Auckland               | 12                    |
| Pacific/Tahiti                 | -10                   |
| Pacific/Port_Moresby           | 10                    |
| Asia/Gaza                      | 3                     |
| Europe/Lisbon                  | 1                     |
| Europe/Moscow                  | 3                     |
| Europe/Kiev                    | 3                     |
| Pacific/Wake                   | 12                    |
| America/New_York               | -4                    |
| Asia/Tashkent                  | 5                     |