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