1# @ohos.systemDateTime (系统时间、时区) 2 3本模块主要由系统时间和系统时区功能组成。开发者可以设置、获取系统时间及系统时区。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import systemDateTime from '@ohos.systemDateTime'; 13``` 14 15## TimeType<sup>10+</sup> 16 17定义获取时间的枚举类型。 18 19**系统能力**: SystemCapability.MiscServices.Time 20 21| 名称 | 值 | 说明 | 22| ------- | ---- | ------------------------------------------------ | 23| STARTUP | 0 | 自系统启动以来经过的毫秒数,包括深度睡眠时间。 | 24| ACTIVE | 1 | 自系统启动以来经过的毫秒数,不包括深度睡眠时间。 | 25 26## systemDateTime.setTime 27 28setTime(time : number, callback : AsyncCallback<void>) : void 29 30设置系统时间,使用callback异步回调。 31 32**系统接口:** 此接口为系统接口 33 34**系统能力:** SystemCapability.MiscServices.Time 35 36**需要权限:** ohos.permission.SET_TIME 37 38**参数:** 39 40| 参数名 | 类型 | 必填 | 说明 | 41| -------- | ----------- | ---- | ---------------- | 42| time | number | 是 | 目标时间戳(ms)。 | 43| callback | AsyncCallback<void> | 是 | 回调函数。 | 44 45**示例:** 46 47```ts 48import { BusinessError } from '@ohos.base'; 49 50// time对应的时间为2021-01-20 02:36:25 51let time = 1611081385000; 52try { 53 systemDateTime.setTime(time, (error: BusinessError) => { 54 if (error) { 55 console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 56 return; 57 } 58 console.info(`Succeeded in setting time`); 59 }); 60} catch(e) { 61 let error = e as BusinessError; 62 console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 63} 64``` 65 66## systemDateTime.setTime 67 68setTime(time : number) : Promise<void> 69 70设置系统时间,使用Promise异步回调。 71 72**系统接口:** 此接口为系统接口 73 74**系统能力:** SystemCapability.MiscServices.Time 75 76**需要权限:** ohos.permission.SET_TIME 77 78**参数:** 79 80| 参数名 | 类型 | 必填 | 说明 | 81| ------ | ------ | ---- | ------------------ | 82| time | number | 是 | 目标时间戳(ms)。 | 83 84**返回值:** 85 86| 类型 | 说明 | 87| ------------------- | ------------------------- | 88| Promise<void> | 无返回结果的Promise对象。 | 89 90**示例:** 91 92```ts 93import { BusinessError } from '@ohos.base'; 94 95// time对应的时间为2021-01-20 02:36:25 96let time = 1611081385000; 97try { 98 systemDateTime.setTime(time).then(() => { 99 console.info(`Succeeded in setting time.`); 100 }).catch((error: BusinessError) => { 101 console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 102 }); 103} catch(e) { 104 let error = e as BusinessError; 105 console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`); 106} 107``` 108 109## systemDateTime.getCurrentTime 110 111getCurrentTime(isNano: boolean, callback: AsyncCallback<number>): void 112 113获取自Unix纪元以来经过的时间,使用callback异步回调。 114 115**系统能力:** SystemCapability.MiscServices.Time 116 117**参数:** 118 119| 参数名 | 类型 | 必填 | 说明 | 120| -------- | -------------- | ---- | ------------------ | 121| isNano | boolean | 是 | 返回结果是否为纳秒数。<br>- true:表示返回结果为纳秒数(ns)。 <br>- false:表示返回结果为毫秒数(ms)。 | 122| callback | AsyncCallback<number> | 是 | 回调函数,返回自Unix纪元以来经过的时间戳。 | 123 124**示例:** 125 126```ts 127import { BusinessError } from '@ohos.base'; 128 129try { 130 systemDateTime.getCurrentTime(true, (error: BusinessError, time: number) => { 131 if (error) { 132 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 133 return; 134 } 135 console.info(`Succeeded in getting currentTime : ${time}`); 136 }); 137} catch(e) { 138 let error = e as BusinessError; 139 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 140} 141``` 142 143## systemDateTime.getCurrentTime 144 145getCurrentTime(callback: AsyncCallback<number>): void 146 147获取自Unix纪元以来经过的时间,使用callback异步回调。 148 149**系统能力:** SystemCapability.MiscServices.Time 150 151**参数:** 152 153| 参数名 | 类型 | 必填 | 说明 | 154| -------- | ----------- | ---- | ---------------------------------- | 155| callback | AsyncCallback<number> | 是 | 回调函数,返回自Unix纪元以来经过的时间戳(ms)。 | 156 157**示例:** 158 159```ts 160import { BusinessError } from '@ohos.base'; 161 162try { 163 systemDateTime.getCurrentTime((error: BusinessError, time: number) => { 164 if (error) { 165 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 166 return; 167 } 168 console.info(`Succeeded in getting currentTime : ${time}`); 169 }); 170} catch(e) { 171 let error = e as BusinessError; 172 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 173} 174``` 175 176## systemDateTime.getCurrentTime 177 178getCurrentTime(isNano?: boolean): Promise<number> 179 180获取自Unix纪元以来经过的时间,使用Promise异步回调。 181 182**系统能力:** SystemCapability.MiscServices.Time 183 184**参数:** 185 186| 参数名 | 类型 | 必填 | 说明 | 187| ------ | ------- | ---- | ------------------------- | 188| isNano | boolean | 否 | 返回结果是否为纳秒数,默认值为false。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 | 189 190**返回值:** 191 192| 类型 | 说明 | 193| --------------------- | --------------------------- | 194| Promise<number> | Promise对象,返回自Unix纪元以来经过的时间戳。 | 195 196**示例:** 197 198```ts 199import { BusinessError } from '@ohos.base'; 200 201try { 202 systemDateTime.getCurrentTime().then((time: number) => { 203 console.info(`Succeeded in getting currentTime : ${time}`); 204 }).catch((error: BusinessError) => { 205 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 206 }); 207} catch(e) { 208 let error = e as BusinessError; 209 console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`); 210} 211``` 212 213## systemDateTime.getRealActiveTime 214 215getRealActiveTime(isNano: boolean, callback: AsyncCallback<number>): void 216 217获取自系统启动以来经过的时间,不包括深度睡眠时间,使用callback异步回调。 218 219**系统能力:** SystemCapability.MiscServices.Time 220 221**参数:** 222 223| 参数名 | 类型 | 必填 | 说明 | 224| -------- | ---------- | ---- | -------------------------- | 225| isNano | boolean | 是 | 返回结果是否为纳秒数。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 | 226| callback | AsyncCallback<number> | 是 | 回调函数,返回自系统启动以来经过的时间,但不包括深度睡眠时间。 | 227 228**示例:** 229 230```ts 231import { BusinessError } from '@ohos.base'; 232 233try { 234 systemDateTime.getRealActiveTime(true, (error: BusinessError, time: number) => { 235 if (error) { 236 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 237 return; 238 } 239 console.info(`Succeeded in getting real active time : ${time}`); 240 }); 241} catch(e) { 242 let error = e as BusinessError; 243 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 244} 245``` 246 247## systemDateTime.getRealActiveTime 248 249getRealActiveTime(callback: AsyncCallback<number>): void 250 251获取自系统启动以来经过的时间,不包括深度睡眠时间,使用callback异步回调。 252 253**系统能力:** SystemCapability.MiscServices.Time 254 255**参数:** 256 257| 参数名 | 类型 | 必填 | 说明 | 258| -------- | -------------- | ---- | --------------------- | 259| callback | AsyncCallback<number> | 是 | 回调函数,返回自系统启动以来经过的时间,但不包括度睡眠时间。 | 260 261**示例:** 262 263```ts 264import { BusinessError } from '@ohos.base'; 265 266try { 267 systemDateTime.getRealActiveTime((error: BusinessError, time: number) => { 268 if (error) { 269 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 270 return; 271 } 272 console.info(`Succeeded in getting real active time : ${time}`); 273 }); 274} catch(e) { 275 let error = e as BusinessError; 276 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 277} 278``` 279 280## systemDateTime.getRealActiveTime 281 282getRealActiveTime(isNano?: boolean): Promise<number> 283 284获取自系统启动以来经过的时间,不包括深度睡眠时间,使用Promise异步回调。 285 286**系统能力:** SystemCapability.MiscServices.Time 287 288**参数:** 289 290| 参数名 | 类型 | 必填 | 说明 | 291| ------ | ------- | ---- | ----------------------------------- | 292| isNano | boolean | 否 | 返回结果是否为纳秒数,默认值为false。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 | 293 294**返回值:** 295 296| 类型 | 说明 | 297| -------------- | -------------------------------- | 298| Promise<number> | Promise对象,返回自系统启动以来经过的时间,但不包括深度睡眠时间。 | 299 300**示例:** 301 302```ts 303import { BusinessError } from '@ohos.base'; 304 305try { 306 systemDateTime.getRealActiveTime().then((time: number) => { 307 console.info(`Succeeded in getting real active time : ${time}`); 308 }).catch((error: BusinessError) => { 309 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 310 }); 311} catch(e) { 312 let error = e as BusinessError; 313 console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`); 314} 315``` 316 317## systemDateTime.getRealTime 318 319getRealTime(isNano: boolean, callback: AsyncCallback<number>): void 320 321获取自系统启动以来经过的时间,包括深度睡眠时间,使用callback异步回调。 322 323**系统能力:** SystemCapability.MiscServices.Time 324 325**参数:** 326 327| 参数名 | 类型 | 必填 | 说明 | 328| -------- | --------------- | ---- | ------------------------------- | 329| isNano | boolean | 是 | 返回结果是否为纳秒数。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 | 330| callback | AsyncCallback<number> | 是 | 回调函数,返回自系统启动以来经过的时间,包括深度睡眠时间。 | 331 332**示例:** 333 334```ts 335import { BusinessError } from '@ohos.base'; 336 337try { 338 systemDateTime.getRealTime(true, (error: BusinessError, time: number) => { 339 if (error) { 340 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 341 return; 342 } 343 console.info(`Succeeded in getting real time : ${time}`); 344 }); 345} catch(e) { 346 let error = e as BusinessError; 347 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 348} 349``` 350 351## systemDateTime.getRealTime 352 353getRealTime(callback: AsyncCallback<number>): void 354 355获取自系统启动以来经过的时间,包括深度睡眠时间,使用callback异步回调。 356 357**系统能力:** SystemCapability.MiscServices.Time 358 359**参数:** 360 361| 参数名 | 类型 | 必填 | 说明 | 362| -------- | --------- | ---- | --------------------------- | 363| callback | AsyncCallback<number> | 是 | 回调函数,返回自系统启动以来经过的时间,包括深度睡眠时间。 | 364 365**示例:** 366 367```ts 368import { BusinessError } from '@ohos.base'; 369 370try { 371 systemDateTime.getRealTime((error: BusinessError, time: number) => { 372 if (error) { 373 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 374 return; 375 } 376 console.info(`Succeeded in getting real time : ${time}`); 377 }); 378} catch(e) { 379 let error = e as BusinessError; 380 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 381} 382``` 383 384## systemDateTime.getRealTime 385 386getRealTime(isNano?: boolean): Promise<number> 387 388获取自系统启动以来经过的时间,包括深度睡眠时间,使用Promise异步回调。 389 390**系统能力:** SystemCapability.MiscServices.Time 391 392**参数:** 393 394| 参数名 | 类型 | 必填 | 说明 | 395| ------ | ------- | ---- | ------------------------------- | 396| isNano | boolean | 否 | 返回结果是否为纳秒数,默认值为false。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。 | 397 398**返回值:** 399 400| 类型 | 说明 | 401| --------------------- | ------------------------------- | 402| Promise<number> | Promise对象,返回自系统启动以来经过的时间,包括深度睡眠时间。 | 403 404**示例:** 405 406```ts 407import { BusinessError } from '@ohos.base'; 408 409try { 410 systemDateTime.getRealTime().then((time: number) => { 411 console.info(`Succeeded in getting real time : ${time}`); 412 }).catch((error: BusinessError) => { 413 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 414 }); 415} catch(e) { 416 let error = e as BusinessError; 417 console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`); 418} 419``` 420 421## systemDateTime.getTime<sup>10+</sup> 422 423getTime(isNanoseconds?: boolean): number 424 425 使用同步方式获取自Unix纪元以来经过的时间。 426 427**系统能力:** SystemCapability.MiscServices.Time 428 429**参数:** 430 431| 参数名 | 类型 | 必填 | 说明 | 432| ------------- | ------- | ---- | ------------------------------------------------------------ | 433| isNanoseconds | boolean | 否 | 返回结果是否为纳秒数。<br>- true:表示返回结果为纳秒数(ns)。 <br>- false:表示返回结果为毫秒数(ms)。<br>默认值为false。 | 434 435**返回值**: 436 437| 类型 | 说明 | 438| ------ | -------------------------- | 439| number | 自Unix纪元以来经过的时间。 | 440 441**示例:** 442 443```ts 444import { BusinessError } from '@ohos.base'; 445 446try { 447 let time = systemDateTime.getTime(true) 448} catch(e) { 449 let error = e as BusinessError; 450 console.info(`Failed to get time. message: ${error.message}, code: ${error.code}`); 451} 452``` 453 454## systemDateTime.getUptime<sup>10+</sup> 455 456getUptime(timeType: TimeType, isNanoseconds?: boolean): number 457 458 使用同步方式获取自系统启动以来经过的时间。 459 460**系统能力:** SystemCapability.MiscServices.Time 461 462**参数:** 463 464| 参数名 | 类型 | 必填 | 说明 | 465| ------------- | ----------------------- | ---- | ------------------------------------------------------------ | 466| timeType | [TimeType](#timetype10) | 是 | 获取时间的类型。 | 467| isNanoseconds | boolean | 否 | 返回结果是否为纳秒数。<br/>- true:表示返回结果为纳秒数(ns)。 <br/>- false:表示返回结果为毫秒数(ms)。<br>默认值为false。 | 468 469**返回值:** 470 471| 类型 | 说明 | 472| ------ | -------------------------- | 473| number | 自系统启动以来经过的时间。 | 474 475**示例:** 476 477```ts 478import { BusinessError } from '@ohos.base'; 479 480try { 481 let time = systemDateTime.getUptime(systemDateTime.TimeType.ACTIVE, false); 482} catch(e) { 483 let error = e as BusinessError; 484 console.info(`Failed to get uptime. message: ${error.message}, code: ${error.code}`); 485} 486``` 487 488## systemDateTime.setDate<sup>(deprecated)</sup> 489 490setDate(date: Date, callback: AsyncCallback<void>): void 491 492设置系统日期,使用callback异步回调。 493 494> **说明:** 495> 496> 从API version 9开始支持,从API 10开始废弃。建议使用[systemDateTime.setTime](#systemdatetimesettime)替代。 497 498**系统接口:** 此接口为系统接口 499 500**系统能力:** SystemCapability.MiscServices.Time 501 502**需要权限:** ohos.permission.SET_TIME 503 504**参数:** 505 506| 参数名 | 类型 | 必填 | 说明 | 507| -------- | ------------- | ---- | --------------------- | 508| date | Date | 是 | 目标日期。 | 509| callback | AsyncCallback<void> | 是 | 回调函数。 | 510 511**示例:** 512 513```ts 514import { BusinessError } from '@ohos.base'; 515 516let date = new Date(); 517try { 518 systemDateTime.setDate(date, (error: BusinessError) => { 519 if (error) { 520 console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 521 return; 522 } 523 console.info(`Succeeded in setting date.`); 524 }); 525} catch(e) { 526 let error = e as BusinessError; 527 console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 528} 529``` 530 531## systemDateTime.setDate<sup>(deprecated)</sup> 532 533setDate(date: Date): Promise<void> 534 535设置系统日期,使用Promise异步回调。 536 537> **说明:** 538> 539> 从API version 9开始支持,从API 10开始废弃。建议使用[systemDateTime.setTime](#systemdatetimesettime)替代。 540 541**系统接口:** 此接口为系统接口 542 543**系统能力:** SystemCapability.MiscServices.Time 544 545**需要权限:** ohos.permission.SET_TIME 546 547**参数:** 548 549| 参数名 | 类型 | 必填 | 说明 | 550| ------ | ---- | ---- | ---------- | 551| date | Date | 是 | 目标日期。 | 552 553**返回值:** 554 555| 类型 | 说明 | 556| ------------------- | -------------------- | 557| Promise<void> | 无返回结果的Promise对象。 | 558 559**示例:** 560 561```ts 562import { BusinessError } from '@ohos.base'; 563 564let date = new Date(); 565try { 566 systemDateTime.setDate(date).then(() => { 567 console.info(`Succeeded in setting date.`); 568 }).catch((error: BusinessError) => { 569 console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 570 }); 571} catch(e) { 572 let error = e as BusinessError; 573 console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`); 574} 575``` 576 577## systemDateTime.getDate<sup>(deprecated)</sup> 578 579getDate(callback: AsyncCallback<Date>): void 580 581获取当前系统日期,使用callback异步回调。 582 583> **说明:** 584> 585> 从API version 9开始支持,从API 10开始废弃。建议使用new Date()替代,new Date()返回Date实例对象。 586 587**系统能力:** SystemCapability.MiscServices.Time 588 589**参数:** 590 591| 参数名 | 类型 | 必填 | 说明 | 592| -------- | -------------- | ---- | --------------------- | 593| callback | AsyncCallback<Date> | 是 | 回调函数,返回当前系统日期。 | 594 595**示例:** 596 597```ts 598import { BusinessError } from '@ohos.base'; 599 600try { 601 systemDateTime.getDate((error: BusinessError, date: Date) => { 602 if (error) { 603 console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`); 604 return; 605 } 606 console.info(`Succeeded in getting date : ${date}`);; 607 }); 608} catch(e) { 609 let error = e as BusinessError; 610 console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`); 611} 612``` 613 614## systemDateTime.getDate<sup>(deprecated)</sup> 615 616getDate(): Promise<Date> 617 618获取当前系统日期,使用Promise异步回调。 619 620> **说明:** 621> 622> 从API version 9开始支持,从API 10开始废弃。建议使用new Date()替代,new Date()返回Date实例对象。 623 624**系统能力:** SystemCapability.MiscServices.Time 625 626**返回值:** 627 628| 类型 | 说明 | 629| ------------------- | ----------------------------------------- | 630| Promise<Date> | Promise对象,返回当前系统日期。 | 631 632**示例:** 633 634```ts 635import { BusinessError } from '@ohos.base'; 636 637try { 638 systemDateTime.getDate().then((date: Date) => { 639 console.info(`Succeeded in getting date : ${date}`); 640 }).catch((error: BusinessError) => { 641 console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`); 642 }); 643} catch(e) { 644 let error = e as BusinessError; 645 console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`); 646} 647``` 648 649## systemDateTime.setTimezone 650 651setTimezone(timezone: string, callback: AsyncCallback<void>): void 652 653设置系统时区,使用callback异步回调。 654 655**系统接口:** 此接口为系统接口 656 657**系统能力:** SystemCapability.MiscServices.Time 658 659**需要权限:** ohos.permission.SET_TIME_ZONE 660 661**参数:** 662 663| 参数名 | 类型 | 必填 | 说明 | 664| -------- | ------------- | ---- | -------------------------- | 665| timezone | string | 是 | 系统时区。 具体可见[支持的系统时区](#支持的系统时区) 。 | 666| callback | AsyncCallback<void> | 是 | 回调函数。 | 667 668**示例:** 669 670```ts 671import { BusinessError } from '@ohos.base'; 672 673try { 674 systemDateTime.setTimezone('Asia/Shanghai', (error: BusinessError) => { 675 if (error) { 676 console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 677 return; 678 } 679 console.info(`Succeeded in setting timezone.`); 680 }); 681} catch(e) { 682 let error = e as BusinessError; 683 console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 684} 685``` 686 687## systemDateTime.setTimezone 688 689setTimezone(timezone: string): Promise<void> 690 691设置系统时区,使用Promise异步回调。 692 693**系统接口:** 此接口为系统接口 694 695**系统能力:** SystemCapability.MiscServices.Time 696 697**需要权限:** ohos.permission.SET_TIME_ZONE 698 699**参数:** 700 701| 参数名 | 类型 | 必填 | 说明 | 702| -------- | ------ | ---- | ---------- | 703| timezone | string | 是 | 系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 | 704 705**返回值:** 706 707| 类型 | 说明 | 708| ------------------- | -------------------- | 709| Promise<void> | 无返回结果的Promise对象。 | 710 711**示例:** 712 713```ts 714import { BusinessError } from '@ohos.base'; 715 716try { 717 systemDateTime.setTimezone('Asia/Shanghai').then(() => { 718 console.info(`Succeeded in setting timezone.`); 719 }).catch((error: BusinessError) => { 720 console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 721 }); 722} catch(e) { 723 let error = e as BusinessError; 724 console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`); 725} 726``` 727 728## systemDateTime.getTimezone 729 730getTimezone(callback: AsyncCallback<string>): void 731 732获取系统时区,使用callback异步回调。 733 734**系统能力:** SystemCapability.MiscServices.Time 735 736**参数:** 737 738| 参数名 | 类型 | 必填 | 说明 | 739| -------- | --------- | ---- | ------------------------ | 740| callback | AsyncCallback<string> | 是 | 回调函数,返回系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 | 741 742**示例:** 743 744```ts 745import { BusinessError } from '@ohos.base'; 746 747try { 748 systemDateTime.getTimezone((error: BusinessError, data: string) => { 749 if (error) { 750 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 751 return; 752 } 753 console.info(`Succeeded in get timezone : ${data}`);; 754 }); 755} catch(e) { 756 let error = e as BusinessError; 757 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 758} 759``` 760 761## systemDateTime.getTimezone 762 763getTimezone(): Promise<string> 764 765获取系统时区,使用Promise异步回调。 766 767**系统能力:** SystemCapability.MiscServices.Time 768 769**返回值:** 770 771| 类型 | 说明 | 772| --------------------- | ------------------------------------- | 773| Promise<string> | Promise对象,返回系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 | 774 775**示例:** 776 777```ts 778import { BusinessError } from '@ohos.base'; 779 780try { 781 systemDateTime.getTimezone().then((data: string) => { 782 console.info(`Succeeded in getting timezone: ${data}`); 783 }).catch((error: BusinessError) => { 784 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 785 }); 786} catch(e) { 787 let error = e as BusinessError; 788 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 789} 790``` 791 792## systemDateTime.getTimezoneSync<sup>10+</sup> 793 794getTimezoneSync(): string 795 796获取系统时区,使用同步方式。 797 798**系统能力:** SystemCapability.MiscServices.Time 799 800**返回值:** 801 802| 类型 | 说明 | 803| ------ | ---------------------------------------------------------- | 804| string | 返回系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 | 805 806**示例:** 807 808```ts 809import { BusinessError } from '@ohos.base'; 810 811try { 812 let timezone = systemDateTime.getTimezoneSync(); 813} catch(e) { 814 let error = e as BusinessError; 815 console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`); 816} 817``` 818 819## 支持的系统时区 820 821支持的系统时区及各时区与0时区相比的偏移量(单位:h)可见下表。 822 823| 时区 | 偏移量 | 824| ------------------------------ | --------------------- | 825| Antarctica/McMurdo | 12 | 826| America/Argentina/Buenos_Aires | -3 | 827| Australia/Sydney | 10 | 828| America/Noronha | -2 | 829| America/St_Johns | -3 | 830| Africa/Kinshasa | 1 | 831| America/Santiago | -3 | 832| Asia/Shanghai | 8 | 833| Asia/Nicosia | 3 | 834| Europe/Berlin | 2 | 835| America/Guayaquil | -5 | 836| Europe/Madrid | 2 | 837| Pacific/Pohnpei | 11 | 838| America/Godthab | -2 | 839| Asia/Jakarta | 7 | 840| Pacific/Tarawa | 12 | 841| Asia/Almaty | 6 | 842| Pacific/Majuro | 12 | 843| Asia/Ulaanbaatar | 8 | 844| America/Mexico_City | -5 | 845| Asia/Kuala_Lumpur | 8 | 846| Pacific/Auckland | 12 | 847| Pacific/Tahiti | -10 | 848| Pacific/Port_Moresby | 10 | 849| Asia/Gaza | 3 | 850| Europe/Lisbon | 1 | 851| Europe/Moscow | 3 | 852| Europe/Kiev | 3 | 853| Pacific/Wake | 12 | 854| America/New_York | -4 | 855| Asia/Tashkent | 5 |