1# @ohos.systemTime (System Time and Time Zone) 2<!--Kit: Basic Services Kit--> 3<!--Subsystem: Time--> 4<!--Owner: @huaxin05--> 5<!--Designer: @hu-kai45--> 6<!--Tester: @murphy1984--> 7<!--Adviser: @zhang_yixin13--> 8 9The **systemTime** module provides system time and time zone features. You can use the APIs of this module to set and obtain the system time and time zone. 10 11> **NOTE** 12> 13> - The APIs of this module are no longer maintained since API version 9. You are advised to use [@ohos.systemDateTime (system time and time zone)](js-apis-date-time.md). 14> - The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. 15 16## Modules to Import 17 18```ts 19import { systemTime } from '@kit.BasicServicesKit'; 20``` 21 22## systemTime.getCurrentTime<sup>8+(deprecated)</sup> 23 24getCurrentTime(isNano: boolean, callback: AsyncCallback<number>): void 25 26Obtains the time elapsed since the Unix epoch. This API uses an asynchronous callback to return the result. 27 28**System capability**: SystemCapability.MiscServices.Time 29 30**Parameters** 31 32| Name | Type | Mandatory| Description | 33| -------- | -------------- | ---- | ------------------ | 34| isNano | boolean | Yes | Whether the time to return is in nanoseconds.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.| 35| callback | AsyncCallback<number> | Yes | Callback used to return the time elapsed since the Unix epoch. | 36 37**Error codes** 38 39For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 40 41| ID| Error Message | 42| -------- | ------------------------------------------- | 43| -1 | Parameter check failed, permission denied, or system error. | 44 45**Example** 46 47```ts 48import { BusinessError } from '@kit.BasicServicesKit'; 49 50try { 51 systemTime.getCurrentTime(true, (error: BusinessError, time: number) => { 52 if (error) { 53 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 54 return; 55 } 56 console.info(`Succeeded in getting currentTime: ${time}`); 57 }); 58} catch(e) { 59 let error = e as BusinessError; 60 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 61} 62``` 63 64## systemTime.getCurrentTime<sup>8+(deprecated)</sup> 65 66getCurrentTime(callback: AsyncCallback<number>): void 67 68Obtains the time elapsed since the Unix epoch. This API uses an asynchronous callback to return the result. 69 70**System capability**: SystemCapability.MiscServices.Time 71 72**Parameters** 73 74| Name | Type | Mandatory| Description | 75| -------- | ----------- | ---- | ---------------------------------- | 76| callback | AsyncCallback<number> | Yes | Callback used to return the time elapsed since the Unix epoch. | 77 78**Error codes** 79 80For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 81 82| ID| Error Message | 83| -------- | ------------------------------------------- | 84| -1 | Parameter check failed, permission denied, or system error. | 85 86**Example** 87 88```ts 89import { BusinessError } from '@kit.BasicServicesKit'; 90 91try { 92 systemTime.getCurrentTime((error: BusinessError, time: number) => { 93 if (error) { 94 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 95 return; 96 } 97 console.info(`Succeeded in getting currentTime : ${time}`); 98 }); 99} catch(e) { 100 let error = e as BusinessError; 101 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 102} 103``` 104 105## systemTime.getCurrentTime<sup>8+(deprecated)</sup> 106 107getCurrentTime(isNano?: boolean): Promise<number> 108 109Obtains the time elapsed since the Unix epoch. This API uses a promise to return the result. 110 111**System capability**: SystemCapability.MiscServices.Time 112 113**Parameters** 114 115| Name| Type | Mandatory| Description | 116| ------ | ------- | ---- | ------------------------- | 117| isNano | boolean | No | Whether the time to return is in nanoseconds. The default value is **false**.<br>The default value is false.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.| 118 119**Return value** 120 121| Type | Description | 122| --------------------- | --------------------------- | 123| Promise<number> | Promise used to return the time elapsed since the Unix epoch.| 124 125**Error codes** 126 127For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 128 129| ID| Error Message | 130| -------- | ------------------------------------------- | 131| -1 | Parameter check failed, permission denied, or system error. | 132 133**Example** 134 135```ts 136import { BusinessError } from '@kit.BasicServicesKit'; 137 138try { 139 systemTime.getCurrentTime().then((time: number) => { 140 console.info(`Succeeded in getting currentTime : ${time}`); 141 }).catch((error: BusinessError) => { 142 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 143 }); 144} catch(e) { 145 let error = e as BusinessError; 146 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 147} 148``` 149 150## systemTime.getRealActiveTime<sup>8+(deprecated)</sup> 151 152getRealActiveTime(isNano: boolean, callback: AsyncCallback<number>): void 153 154Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses an asynchronous callback to return the result. 155 156**System capability**: SystemCapability.MiscServices.Time 157 158**Parameters** 159 160| Name | Type | Mandatory| Description | 161| -------- | ---------- | ---- | -------------------------- | 162| isNano | boolean | Yes | Whether the time to return is in nanoseconds.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.| 163| callback | AsyncCallback<number> | Yes | Callback used to return the result.| 164 165**Error codes** 166 167For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 168 169| ID| Error Message | 170| -------- | ------------------------------------------- | 171| -1 | Parameter check failed, permission denied, or system error. | 172 173**Example** 174 175```ts 176import { BusinessError } from '@kit.BasicServicesKit'; 177 178try { 179 systemTime.getRealActiveTime(true, (error: BusinessError, time: number) => { 180 if (error) { 181 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 182 return; 183 } 184 console.info(`Succeeded in getting real active time : ${time}`); 185 }); 186} catch(e) { 187 let error = e as BusinessError; 188 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 189} 190``` 191 192## systemTime.getRealActiveTime<sup>8+(deprecated)</sup> 193 194getRealActiveTime(callback: AsyncCallback<number>): void 195 196Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses an asynchronous callback to return the result. 197 198**System capability**: SystemCapability.MiscServices.Time 199 200**Parameters** 201 202| Name | Type | Mandatory| Description | 203| -------- | -------------- | ---- | --------------------- | 204| callback | AsyncCallback<number> | Yes | Callback used to return the result.| 205 206**Error codes** 207 208For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 209 210| ID| Error Message | 211| -------- | ------------------------------------------- | 212| -1 | Parameter check failed, permission denied, or system error. | 213 214**Example** 215 216```ts 217import { BusinessError } from '@kit.BasicServicesKit'; 218 219try { 220 systemTime.getRealActiveTime((error: BusinessError, time: number) => { 221 if (error) { 222 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 223 return; 224 } 225 console.info(`Succeeded in getting real active time : ${time}`); 226 }); 227} catch(e) { 228 let error = e as BusinessError; 229 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 230} 231``` 232 233## systemTime.getRealActiveTime<sup>8+(deprecated)</sup> 234 235getRealActiveTime(isNano?: boolean): Promise<number> 236 237Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses a promise to return the result. 238 239**System capability**: SystemCapability.MiscServices.Time 240 241**Parameters** 242 243| Name| Type | Mandatory| Description | 244| ------ | ------- | ---- | ----------------------------------- | 245| isNano | boolean | No | Whether the time to return is in nanoseconds. The default value is **false**.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.| 246 247**Return value** 248 249| Type | Description | 250| -------------- | -------------------------------- | 251| Promise<number> | Promise used to return the time elapsed since system startup, excluding the deep sleep time.| 252 253**Error codes** 254 255For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 256 257| ID| Error Message | 258| -------- | ------------------------------------------- | 259| -1 | Parameter check failed, permission denied, or system error. | 260 261**Example** 262 263```ts 264import { BusinessError } from '@kit.BasicServicesKit'; 265 266try { 267 systemTime.getRealActiveTime().then((time: number) => { 268 console.info(`Succeeded in getting real active time : ${time}`); 269 }).catch((error: BusinessError) => { 270 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 271 }); 272} catch(e) { 273 let error = e as BusinessError; 274 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 275} 276``` 277 278## systemTime.getRealTime<sup>8+(deprecated)</sup> 279 280getRealTime(isNano: boolean, callback: AsyncCallback<number>): void 281 282Obtains the time elapsed since system startup, including the deep sleep time. This API uses an asynchronous callback to return the result. 283 284**System capability**: SystemCapability.MiscServices.Time 285 286**Parameters** 287 288| Name | Type | Mandatory| Description | 289| -------- | --------------- | ---- | ------------------------------- | 290| isNano | boolean | Yes | Whether the time to return is in nanoseconds.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.| 291| callback | AsyncCallback<number> | Yes | Callback used to return the result. | 292 293**Error codes** 294 295For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 296 297| ID| Error Message | 298| -------- | ------------------------------------------- | 299| -1 | Parameter check failed, permission denied, or system error. | 300 301**Example** 302 303```ts 304import { BusinessError } from '@kit.BasicServicesKit'; 305 306try { 307 systemTime.getRealTime(true, (error: BusinessError, time: number) => { 308 if (error) { 309 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 310 return; 311 } 312 console.info(`Succeeded in getting real time : ${time}`); 313 }); 314} catch(e) { 315 let error = e as BusinessError; 316 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 317} 318``` 319 320## systemTime.getRealTime<sup>8+(deprecated)</sup> 321 322getRealTime(callback: AsyncCallback<number>): void 323 324Obtains the time elapsed since system startup, including the deep sleep time. This API uses an asynchronous callback to return the result. 325 326**System capability**: SystemCapability.MiscServices.Time 327 328**Parameters** 329 330| Name | Type | Mandatory| Description | 331| -------- | --------- | ---- | --------------------------- | 332| callback | AsyncCallback<number> | Yes | Callback used to return the result. | 333 334**Error codes** 335 336For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 337 338| ID| Error Message | 339| -------- | ------------------------------------------- | 340| -1 | Parameter check failed, permission denied, or system error. | 341 342**Example** 343 344```ts 345import { BusinessError } from '@kit.BasicServicesKit'; 346 347try { 348 systemTime.getRealTime((error: BusinessError, time: number) => { 349 if (error) { 350 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 351 return; 352 } 353 console.info(`Succeeded in getting real time : ${time}`); 354 }); 355} catch(e) { 356 let error = e as BusinessError; 357 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 358} 359``` 360 361## systemTime.getRealTime<sup>8+(deprecated)</sup> 362 363getRealTime(isNano?: boolean): Promise<number> 364 365Obtains the time elapsed since system startup, including the deep sleep time. This API uses a promise to return the result. 366 367**System capability**: SystemCapability.MiscServices.Time 368 369**Parameters** 370 371| Name| Type | Mandatory| Description | 372| ------ | ------- | ---- | ------------------------------- | 373| isNano | boolean | No | Whether the time to return is in nanoseconds. The default value is **false**.<br>The default value is false.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.| 374 375**Return value** 376 377| Type | Description | 378| --------------------- | ------------------------------- | 379| Promise<number> | Promise used to return the time elapsed since system startup, including the deep sleep time.| 380 381**Error codes** 382 383For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 384 385| ID| Error Message | 386| -------- | ------------------------------------------- | 387| -1 | Parameter check failed, permission denied, or system error. | 388 389**Example** 390 391```ts 392import { BusinessError } from '@kit.BasicServicesKit'; 393 394try { 395 systemTime.getRealTime().then((time: number) => { 396 console.info(`Succeeded in getting real time : ${time}`); 397 }).catch((error: BusinessError) => { 398 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 399 }); 400} catch(e) { 401 let error = e as BusinessError; 402 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 403} 404``` 405 406## systemTime.getDate<sup>8+(deprecated)</sup> 407 408getDate(callback: AsyncCallback<Date>): void 409 410Obtains the current system date. This API uses an asynchronous callback to return the result. 411 412**System capability**: SystemCapability.MiscServices.Time 413 414**Parameters** 415 416| Name | Type | Mandatory| Description | 417| -------- | -------------- | ---- | --------------------- | 418| callback | AsyncCallback<Date> | Yes | Callback used to return the current system date.| 419 420**Error codes** 421 422For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 423 424| ID| Error Message | 425| -------- | ------------------------------------------- | 426| -1 | Parameter check failed, permission denied, or system error. | 427 428**Example** 429 430```ts 431import { BusinessError } from '@kit.BasicServicesKit'; 432 433try { 434 systemTime.getDate((error: BusinessError, date: Date) => { 435 if (error) { 436 console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`); 437 return; 438 } 439 console.info(`Succeeded in getting date : ${date}`); 440 }); 441} catch(e) { 442 let error = e as BusinessError; 443 console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`); 444} 445``` 446 447## systemTime.getDate<sup>8+(deprecated)</sup> 448 449getDate(): Promise<Date> 450 451Obtains the current system date. This API uses a promise to return the result. 452 453**System capability**: SystemCapability.MiscServices.Time 454 455**Return value** 456 457| Type | Description | 458| ------------------- | ----------------------------------------- | 459| Promise<Date> | Promise used to return the current system date.| 460 461**Error codes** 462 463For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 464 465| ID| Error Message | 466| -------- | ------------------------------------------- | 467| -1 | Parameter check failed, permission denied, or system error. | 468 469**Example** 470 471```ts 472import { BusinessError } from '@kit.BasicServicesKit'; 473 474try { 475 systemTime.getDate().then((date: Date) => { 476 console.info(`Succeeded in getting date : ${date}`); 477 }).catch((error: BusinessError) => { 478 console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`); 479 }); 480} catch(e) { 481 let error = e as BusinessError; 482 console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`); 483} 484``` 485 486## systemTime.getTimezone<sup>8+(deprecated)</sup> 487 488getTimezone(callback: AsyncCallback<string>): void 489 490Obtains the system time zone. This API uses an asynchronous callback to return the result. 491 492**System capability**: SystemCapability.MiscServices.Time 493 494**Parameters** 495 496| Name | Type | Mandatory| Description | 497| -------- | --------- | ---- | ------------------------ | 498| callback | AsyncCallback<string> | Yes | Callback used to return the system time zone. For details, see [Supported System Time Zones](#supported-system-time-zones).| 499 500**Error codes** 501 502For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 503 504| ID| Error Message | 505| -------- | ------------------------------------------- | 506| -1 | Parameter check failed, permission denied, or system error. | 507 508**Example** 509 510```ts 511import { BusinessError } from '@kit.BasicServicesKit'; 512 513try { 514 systemTime.getTimezone((error: BusinessError, data: string) => { 515 if (error) { 516 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 517 return; 518 } 519 console.info(`Succeeded in getting timezone : ${data}`); 520 }); 521} catch(e) { 522 let error = e as BusinessError; 523 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 524} 525``` 526 527## systemTime.getTimezone<sup>8+(deprecated)</sup> 528 529getTimezone(): Promise<string> 530 531Obtains the system time zone. This API uses a promise to return the result. 532 533**System capability**: SystemCapability.MiscServices.Time 534 535**Return value** 536 537| Type | Description | 538| --------------------- | ------------------------------------- | 539| Promise<string> | Promise used to return the system time zone. For details, see [Supported System Time Zones](#supported-system-time-zones).| 540 541**Error codes** 542 543For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 544 545| ID| Error Message | 546| -------- | ------------------------------------------- | 547| -1 | Parameter check failed, permission denied, or system error. | 548 549**Example** 550 551```ts 552import { BusinessError } from '@kit.BasicServicesKit'; 553 554try { 555 systemTime.getTimezone().then((data: string) => { 556 console.info(`Succeeded in getting timezone: ${data}`); 557 }).catch((error: BusinessError) => { 558 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 559 }); 560} catch(e) { 561 let error = e as BusinessError; 562 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 563} 564``` 565 566## systemTime.setTime<sup>(deprecated)</sup> 567 568setTime(time : number, callback : AsyncCallback<void>) : void 569 570Sets the system time. This API uses an asynchronous callback to return the result. 571 572**Required permissions**: ohos.permission.SET_TIME 573 574**System capability**: SystemCapability.MiscServices.Time 575 576**Parameters** 577 578| Name | Type | Mandatory| Description | 579| -------- | ----------- | ---- | ---------------- | 580| time | number | Yes | Timestamp to set, in milliseconds. | 581| callback | AsyncCallback<void> | Yes | Callback used to return the result.| 582 583**Error codes** 584 585For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 586 587| ID| Error Message | 588| -------- | ------------------------------------------------------------ | 589| -1 | Parameter check failed, permission denied, or system error. | 590 591**Example** 592 593```ts 594import { BusinessError } from '@kit.BasicServicesKit'; 595 596// Set the system time to 2021-01-20 02:36:25. 597let time = 1611081385000; 598try { 599 systemTime.setTime(time, (error: BusinessError) => { 600 if (error) { 601 console.info(`Failed to setting time. message: ${error.message}, code: ${error.code}`); 602 return; 603 } 604 console.info(`Succeeded in setting time`); 605 }); 606} catch(e) { 607 let error = e as BusinessError; 608 console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 609} 610``` 611 612## systemTime.setTime<sup>(deprecated)</sup> 613 614setTime(time : number) : Promise<void> 615 616Sets the system time. This API uses a promise to return the result. 617 618**Required permissions**: ohos.permission.SET_TIME 619 620**System capability**: SystemCapability.MiscServices.Time 621 622**Parameters** 623 624| Name| Type | Mandatory| Description | 625| ------ | ------ | ---- | ------------------ | 626| time | number | Yes | Timestamp to set, in milliseconds.| 627 628**Return value** 629 630| Type | Description | 631| ------------------- | ------------------------- | 632| Promise<void> | Promise that returns no value.| 633 634**Error codes** 635 636For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 637 638| ID| Error Message | 639| -------- | ------------------------------------------------------------ | 640| -1 | Parameter check failed, permission denied, or system error. | 641 642**Example** 643 644```ts 645import { BusinessError } from '@kit.BasicServicesKit'; 646 647// Set the system time to 2021-01-20 02:36:25. 648let time = 1611081385000; 649try { 650 systemTime.setTime(time).then(() => { 651 console.info(`Succeeded in setting time.`); 652 }).catch((error: BusinessError) => { 653 console.info(`Failed to setting time. message: ${error.message}, code: ${error.code}`); 654 }); 655} catch(e) { 656 let error = e as BusinessError; 657 console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 658} 659``` 660 661## systemTime.setDate<sup>(deprecated)</sup> 662 663setDate(date: Date, callback: AsyncCallback<void>): void 664 665Sets the system date. This API uses an asynchronous callback to return the result. 666 667**Required permissions**: ohos.permission.SET_TIME 668 669**System capability**: SystemCapability.MiscServices.Time 670 671**Parameters** 672 673| Name | Type | Mandatory| Description | 674| -------- | ------------- | ---- | --------------------- | 675| date | Date | Yes | Target date to set. | 676| callback | AsyncCallback<void> | Yes | Callback used to return the result.| 677 678**Error codes** 679 680For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 681 682| ID| Error Message | 683| -------- | ------------------------------------------------------------ | 684| -1 | Parameter check failed, permission denied, or system error. | 685 686**Example** 687 688```ts 689import { BusinessError } from '@kit.BasicServicesKit'; 690 691let date = new Date(); 692try { 693 systemTime.setDate(date, (error: BusinessError) => { 694 if (error) { 695 console.info(`Failed to setting date. message: ${error.message}, code: ${error.code}`); 696 return; 697 } 698 console.info(`Succeeded in setting date.`); 699 }); 700} catch(e) { 701 let error = e as BusinessError; 702 console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 703} 704``` 705 706## systemTime.setDate<sup>(deprecated)</sup> 707 708setDate(date: Date): Promise<void> 709 710Sets the system date. This API uses a promise to return the result. 711 712**Required permissions**: ohos.permission.SET_TIME 713 714**System capability**: SystemCapability.MiscServices.Time 715 716**Parameters** 717 718| Name| Type| Mandatory| Description | 719| ------ | ---- | ---- | ---------- | 720| date | Date | Yes | Target date to set.| 721 722**Return value** 723 724| Type | Description | 725| ------------------- | -------------------- | 726| Promise<void> | Promise that returns no value.| 727 728**Error codes** 729 730For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 731 732| ID| Error Message | 733| -------- | ------------------------------------------------------------ | 734| -1 | Parameter check failed, permission denied, or system error. | 735 736**Example** 737 738```ts 739import { BusinessError } from '@kit.BasicServicesKit'; 740 741let date = new Date(); 742try { 743 systemTime.setDate(date).then(() => { 744 console.info(`Succeeded in setting date.`); 745 }).catch((error: BusinessError) => { 746 console.info(`Failed to setting date. message: ${error.message}, code: ${error.code}`); 747 }); 748} catch(e) { 749 let error = e as BusinessError; 750 console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 751} 752``` 753 754## systemTime.setTimezone<sup>(deprecated)</sup> 755 756setTimezone(timezone: string, callback: AsyncCallback<void>): void 757 758Sets the system time zone. This API uses an asynchronous callback to return the result. 759 760**Required permissions**: ohos.permission.SET_TIME_ZONE 761 762**System capability**: SystemCapability.MiscServices.Time 763 764**Parameters** 765 766| Name | Type | Mandatory| Description | 767| -------- | ------------- | ---- | -------------------------- | 768| timezone | string | Yes | System time zone to set. For details, see [Supported System Time Zones](#supported-system-time-zones). | 769| callback | AsyncCallback<void> | Yes | Callback used to return the result.| 770 771**Error codes** 772 773For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 774 775| ID| Error Message | 776| -------- | ------------------------------------------------------------ | 777| -1 | Parameter check failed, permission denied, or system error. | 778 779**Example** 780 781```ts 782import { BusinessError } from '@kit.BasicServicesKit'; 783 784try { 785 systemTime.setTimezone('Asia/Shanghai', (error: BusinessError) => { 786 if (error) { 787 console.info(`Failed to setting timezone. message: ${error.message}, code: ${error.code}`); 788 return; 789 } 790 console.info(`Succeeded in setting timezone.`); 791 }); 792} catch(e) { 793 let error = e as BusinessError; 794 console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 795} 796``` 797 798## systemTime.setTimezone<sup>(deprecated)</sup> 799 800setTimezone(timezone: string): Promise<void> 801 802Sets the system time zone. This API uses a promise to return the result. 803 804**Required permissions**: ohos.permission.SET_TIME_ZONE 805 806**System capability**: SystemCapability.MiscServices.Time 807 808**Parameters** 809 810| Name | Type | Mandatory| Description | 811| -------- | ------ | ---- | ---------- | 812| timezone | string | Yes | System time zone to set. For details, see [Supported System Time Zones](#supported-system-time-zones).| 813 814**Return value** 815 816| Type | Description | 817| ------------------- | -------------------- | 818| Promise<void> | Promise that returns no value.| 819 820**Error codes** 821 822For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md). 823 824| ID| Error Message | 825| -------- | ------------------------------------------------------------ | 826| -1 | Parameter check failed, permission denied, or system error. | 827 828**Example** 829 830```ts 831import { BusinessError } from '@kit.BasicServicesKit'; 832 833try { 834 systemTime.setTimezone('Asia/Shanghai').then(() => { 835 console.info(`Succeeded in setting timezone.`); 836 }).catch((error: BusinessError) => { 837 console.info(`Failed to setting timezone. message: ${error.message}, code: ${error.code}`); 838 }); 839} catch(e) { 840 let error = e as BusinessError; 841 console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 842} 843``` 844 845## Supported System Time Zones 846 847The following table lists the supported system time zones and the respective offset (unit: h) between each time zone and time zone 0. 848 849| Time Zone | Offset | 850| ------------------------------ | --------------------- | 851| Antarctica/McMurdo | 12 | 852| America/Argentina/Buenos_Aires | -3 | 853| Australia/Sydney | 10 | 854| America/Noronha | -2 | 855| America/St_Johns | -3 | 856| Africa/Kinshasa | 1 | 857| America/Santiago | -3 | 858| Asia/Shanghai | 8 | 859| Asia/Nicosia | 3 | 860| Europe/Berlin | 2 | 861| America/Guayaquil | -5 | 862| Europe/Madrid | 2 | 863| Pacific/Pohnpei | 11 | 864| America/Godthab | -2 | 865| Asia/Jakarta | 7 | 866| Pacific/Tarawa | 12 | 867| Asia/Almaty | 6 | 868| Pacific/Majuro | 12 | 869| Asia/Ulaanbaatar | 8 | 870| America/Mexico_City | -5 | 871| Asia/Kuala_Lumpur | 8 | 872| Pacific/Auckland | 12 | 873| Pacific/Tahiti | -10 | 874| Pacific/Port_Moresby | 10 | 875| Asia/Gaza | 3 | 876| Europe/Lisbon | 1 | 877| Europe/Moscow | 3 | 878| Europe/Kiev | 3 | 879| Pacific/Wake | 12 | 880| America/New_York | -4 | 881| Asia/Tashkent | 5 | 882