• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;void&gt;) : 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&lt;void&gt; | 是   | 回调函数。 |
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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;number&gt;): 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&lt;number&gt; | 是   | 回调函数,返回自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&lt;number&gt;): void
146
147获取自Unix纪元以来经过的时间,使用callback异步回调。
148
149**系统能力:** SystemCapability.MiscServices.Time
150
151**参数:**
152
153| 参数名   | 类型               | 必填 | 说明                            |
154| -------- | ----------- | ---- | ---------------------------------- |
155| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自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&lt;number&gt;
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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 是   | 回调函数,返回自系统启动以来经过的时间,但不包括深度睡眠时间。 |
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&lt;number&gt;): void
250
251获取自系统启动以来经过的时间,不包括深度睡眠时间,使用callback异步回调。
252
253**系统能力:** SystemCapability.MiscServices.Time
254
255**参数:**
256
257| 参数名   | 类型                        | 必填 | 说明    |
258| -------- | -------------- | ---- | --------------------- |
259| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自系统启动以来经过的时间,但不包括度睡眠时间。 |
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&lt;number&gt;
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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 是   | 回调函数,返回自系统启动以来经过的时间,包括深度睡眠时间。   |
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&lt;number&gt;): void
354
355获取自系统启动以来经过的时间,包括深度睡眠时间,使用callback异步回调。
356
357**系统能力:** SystemCapability.MiscServices.Time
358
359**参数:**
360
361| 参数名   | 类型                        | 必填 | 说明      |
362| -------- | --------- | ---- | --------------------------- |
363| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,返回自系统启动以来经过的时间,包括深度睡眠时间。   |
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&lt;number&gt;
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&lt;number&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是   | 回调函数。 |
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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;Date&gt;): 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&lt;Date&gt; | 是   | 回调函数,返回当前系统日期。 |
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&lt;Date&gt;
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&lt;Date&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是   | 回调函数。 |
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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;string&gt;): void
731
732获取系统时区,使用callback异步回调。
733
734**系统能力:** SystemCapability.MiscServices.Time
735
736**参数:**
737
738| 参数名   | 类型              | 必填 | 说明                 |
739| -------- | --------- | ---- | ------------------------ |
740| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数,返回系统时区。具体可见[支持的系统时区](#支持的系统时区) 。 |
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&lt;string&gt;
764
765获取系统时区,使用Promise异步回调。
766
767**系统能力:** SystemCapability.MiscServices.Time
768
769**返回值:**
770
771| 类型                  | 说明                                  |
772| --------------------- | ------------------------------------- |
773| Promise&lt;string&gt; | 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                     |