1# @ohos.systemDateTime (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 initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8
9## Modules to Import
10
11```ts
12import { systemDateTime } from '@kit.BasicServicesKit';
13```
14
15## TimeType<sup>10+</sup>
16
17Enumerates the types of time to obtain.
18
19**System capability**: SystemCapability.MiscServices.Time
20
21| Name   | Value  | Description                                            |
22| ------- | ---- | ------------------------------------------------ |
23| STARTUP | 0    | Number of milliseconds elapsed since system startup, including the deep sleep time.  |
24| ACTIVE  | 1    | Number of milliseconds elapsed since system startup, excluding the deep sleep time.|
25
26## systemDateTime.getCurrentTime<sup>(deprecated)</sup>
27
28getCurrentTime(isNano: boolean, callback: AsyncCallback&lt;number&gt;): void
29
30Obtains the time elapsed since the Unix epoch. This API uses an asynchronous callback to return the result.
31
32> **NOTE**
33>
34> This API is deprecated since API version 12. Use [systemDateTime.getTime<sup>10+</sup>](#systemdatetimegettime10) instead.
35
36**System capability**: SystemCapability.MiscServices.Time
37
38**Parameters**
39
40| Name  | Type      | Mandatory| Description                            |
41| -------- | -------------- | ---- | ------------------ |
42| isNano   | boolean                     | Yes  | Whether the time to return is in nanoseconds.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.|
43| callback | AsyncCallback&lt;number&gt; | Yes  | Callback used to return the time elapsed since the Unix epoch.        |
44
45**Error codes**
46
47For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
48
49| ID| Error Message                                                             |
50| -------- |-------------------------------------------------------------------|
51| 401       | Parameter error. Possible causes: 1.Incorrect parameter types. |
52
53**Example**
54
55```ts
56import { BusinessError } from '@kit.BasicServicesKit';
57
58try {
59  systemDateTime.getCurrentTime(true, (error: BusinessError, time: number) => {
60    if (error) {
61      console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
62      return;
63    }
64    console.info(`Succeeded in getting currentTime : ${time}`);
65  });
66} catch(e) {
67  let error = e as BusinessError;
68  console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
69}
70```
71
72## systemDateTime.getCurrentTime<sup>(deprecated)</sup>
73
74getCurrentTime(callback: AsyncCallback&lt;number&gt;): void
75
76Obtains the time elapsed since the Unix epoch. This API uses an asynchronous callback to return the result.
77
78> **NOTE**
79>
80> This API is deprecated since API version 12. Use [systemDateTime.getTime<sup>10+</sup>](#systemdatetimegettime10) instead.
81
82**System capability**: SystemCapability.MiscServices.Time
83
84**Parameters**
85
86| Name  | Type              | Mandatory| Description                           |
87| -------- | ----------- | ---- | ---------------------------------- |
88| callback | AsyncCallback&lt;number&gt; | Yes  | Callback used to return the time elapsed since the Unix epoch, in milliseconds.        |
89
90**Error codes**
91
92For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
93
94| ID   | Error Message                                                             |
95|----------|-------------------------------------------------------------------|
96| 401      | Parameter error. Possible causes: 1.Incorrect parameter types. |
97
98**Example**
99
100```ts
101import { BusinessError } from '@kit.BasicServicesKit';
102
103try {
104  systemDateTime.getCurrentTime((error: BusinessError, time: number) => {
105    if (error) {
106      console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
107      return;
108    }
109    console.info(`Succeeded in getting currentTime : ${time}`);
110  });
111} catch(e) {
112  let error = e as BusinessError;
113  console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
114}
115```
116
117## systemDateTime.getCurrentTime<sup>(deprecated)</sup>
118
119getCurrentTime(isNano?: boolean): Promise&lt;number&gt;
120
121Obtains the time elapsed since the Unix epoch. This API uses a promise to return the result.
122
123> **NOTE**
124>
125> This API is deprecated since API version 12. Use [systemDateTime.getTime<sup>10+</sup>](#systemdatetimegettime10) instead.
126
127**System capability**: SystemCapability.MiscServices.Time
128
129**Parameters**
130
131| Name| Type   | Mandatory| Description                    |
132| ------ | ------- | ---- | ------------------------- |
133| isNano | boolean | No  | Whether the time to return is in nanoseconds. The default value is **false**.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.|
134
135**Return value**
136
137| Type       | Description                              |
138| --------------------- | --------------------------- |
139| Promise&lt;number&gt; | Promise used to return the timestamp that has elapsed since the Unix epoch.|
140
141**Error codes**
142
143For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
144
145| ID  | Error Message                                                             |
146|---------|-------------------------------------------------------------------|
147| 401     | Parameter error. Possible causes: 1.Incorrect parameter types. |
148
149**Example**
150
151```ts
152import { BusinessError } from '@kit.BasicServicesKit';
153
154try {
155  systemDateTime.getCurrentTime().then((time: number) => {
156    console.info(`Succeeded in getting currentTime : ${time}`);
157  }).catch((error: BusinessError) => {
158    console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
159  });
160} catch(e) {
161  let error = e as BusinessError;
162  console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
163}
164```
165
166## systemDateTime.getRealActiveTime<sup>(deprecated)</sup>
167
168getRealActiveTime(isNano: boolean, callback: AsyncCallback&lt;number&gt;): void
169
170Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses an asynchronous callback to return the result.
171
172> **NOTE**
173>
174> This API is deprecated since API version 12. Use [systemDateTime.getUptime<sup>10+</sup>](#systemdatetimegetuptime10) instead.
175
176**System capability**: SystemCapability.MiscServices.Time
177
178**Parameters**
179
180| Name  | Type                       | Mandatory| Description  |
181| -------- | ---------- | ---- | -------------------------- |
182| isNano   | boolean                     | Yes  | Whether the time to return is in nanoseconds.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.|
183| callback | AsyncCallback&lt;number&gt; | Yes  | Callback used to return the time.|
184
185**Error codes**
186
187For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
188
189| ID  | Error Message                                                             |
190|---------|-------------------------------------------------------------------|
191| 401     | Parameter error. Possible causes: 1.Incorrect parameter types. |
192
193**Example**
194
195```ts
196import { BusinessError } from '@kit.BasicServicesKit';
197
198try {
199  systemDateTime.getRealActiveTime(true, (error: BusinessError, time: number) => {
200    if (error) {
201      console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
202      return;
203    }
204    console.info(`Succeeded in getting real active time : ${time}`);
205  });
206} catch(e) {
207  let error = e as BusinessError;
208  console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
209}
210```
211
212## systemDateTime.getRealActiveTime<sup>(deprecated)</sup>
213
214getRealActiveTime(callback: AsyncCallback&lt;number&gt;): void
215
216Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses an asynchronous callback to return the result.
217
218> **NOTE**
219>
220> This API is deprecated since API version 12. Use [systemDateTime.getUptime<sup>10+</sup>](#systemdatetimegetuptime10) instead.
221
222**System capability**: SystemCapability.MiscServices.Time
223
224**Parameters**
225
226| Name  | Type                       | Mandatory| Description   |
227| -------- | -------------- | ---- | --------------------- |
228| callback | AsyncCallback&lt;number&gt; | Yes  | Callback used to return the time.|
229
230**Error codes**
231
232For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
233
234| ID  | Error Message                                                             |
235|---------|-------------------------------------------------------------------|
236| 401     | Parameter error. Possible causes: 1.Incorrect parameter types. |
237
238**Example**
239
240```ts
241import { BusinessError } from '@kit.BasicServicesKit';
242
243try {
244  systemDateTime.getRealActiveTime((error: BusinessError, time: number) => {
245    if (error) {
246      console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
247      return;
248    }
249    console.info(`Succeeded in getting real active time : ${time}`);
250  });
251} catch(e) {
252  let error = e as BusinessError;
253  console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
254}
255```
256
257## systemDateTime.getRealActiveTime<sup>(deprecated)</sup>
258
259getRealActiveTime(isNano?: boolean): Promise&lt;number&gt;
260
261Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses a promise to return the result.
262
263> **NOTE**
264>
265> This API is deprecated since API version 12. Use [systemDateTime.getUptime<sup>10+</sup>](#systemdatetimegetuptime10) instead.
266
267**System capability**: SystemCapability.MiscServices.Time
268
269**Parameters**
270
271| Name| Type   | Mandatory| Description                             |
272| ------ | ------- | ---- | ----------------------------------- |
273| isNano | boolean | No  | Whether the time to return is in nanoseconds. The default value is **false**.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.|
274
275**Return value**
276
277| Type                 | Description        |
278| -------------- | -------------------------------- |
279| Promise&lt;number&gt; | Promise used to return the time elapsed since system startup, excluding the deep sleep time.|
280
281**Error codes**
282
283For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
284
285| ID  | Error Message                                                             |
286|---------|-------------------------------------------------------------------|
287| 401     | Parameter error. Possible causes: 1.Incorrect parameter types. |
288
289**Example**
290
291```ts
292import { BusinessError } from '@kit.BasicServicesKit';
293
294try {
295  systemDateTime.getRealActiveTime().then((time: number) => {
296    console.info(`Succeeded in getting real active time : ${time}`);
297  }).catch((error: BusinessError) => {
298    console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
299  });
300} catch(e) {
301  let error = e as BusinessError;
302  console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
303}
304```
305
306## systemDateTime.getRealTime<sup>(deprecated)</sup>
307
308getRealTime(isNano: boolean, callback: AsyncCallback&lt;number&gt;): void
309
310Obtains the time elapsed since system startup, including the deep sleep time. This API uses an asynchronous callback to return the result.
311
312> **NOTE**
313>
314> This API is deprecated since API version 12. Use [systemDateTime.getUptime<sup>10+</sup>](#systemdatetimegetuptime10) instead.
315
316**System capability**: SystemCapability.MiscServices.Time
317
318**Parameters**
319
320| Name  | Type                       | Mandatory| Description  |
321| -------- | --------------- | ---- | ------------------------------- |
322| isNano   | boolean                     | Yes  | Whether the time to return is in nanoseconds.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.|
323| callback | AsyncCallback&lt;number&gt; | Yes  | Callback used to return the time.  |
324
325**Error codes**
326
327For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
328
329| ID  | Error Message                                                             |
330|---------|-------------------------------------------------------------------|
331| 401     | Parameter error. Possible causes: 1.Incorrect parameter types. |
332
333**Example**
334
335```ts
336import { BusinessError } from '@kit.BasicServicesKit';
337
338try {
339  systemDateTime.getRealTime(true, (error: BusinessError, time: number) => {
340    if (error) {
341      console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
342      return;
343    }
344    console.info(`Succeeded in getting real time : ${time}`);
345  });
346} catch(e) {
347  let error = e as BusinessError;
348  console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
349}
350```
351
352## systemDateTime.getRealTime<sup>(deprecated)</sup>
353
354getRealTime(callback: AsyncCallback&lt;number&gt;): void
355
356Obtains the time elapsed since system startup, including the deep sleep time. This API uses an asynchronous callback to return the result.
357
358> **NOTE**
359>
360> This API is deprecated since API version 12. Use [systemDateTime.getUptime<sup>10+</sup>](#systemdatetimegetuptime10) instead.
361
362**System capability**: SystemCapability.MiscServices.Time
363
364**Parameters**
365
366| Name  | Type                       | Mandatory| Description     |
367| -------- | --------- | ---- | --------------------------- |
368| callback | AsyncCallback&lt;number&gt; | Yes  | Callback used to return the time.  |
369
370**Error codes**
371
372For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
373
374| ID  | Error Message                                                             |
375|---------|-------------------------------------------------------------------|
376| 401     | Parameter error. Possible causes: 1.Incorrect parameter types. |
377
378**Example**
379
380```ts
381import { BusinessError } from '@kit.BasicServicesKit';
382
383try {
384  systemDateTime.getRealTime((error: BusinessError, time: number) => {
385    if (error) {
386      console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
387      return;
388    }
389    console.info(`Succeeded in getting real time : ${time}`);
390  });
391} catch(e) {
392  let error = e as BusinessError;
393  console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
394}
395```
396
397## systemDateTime.getRealTime<sup>(deprecated)</sup>
398
399getRealTime(isNano?: boolean): Promise&lt;number&gt;
400
401Obtains the time elapsed since system startup, including the deep sleep time. This API uses a promise to return the result.
402
403> **NOTE**
404>
405> This API is deprecated since API version 12. Use [systemDateTime.getUptime<sup>10+</sup>](#systemdatetimegetuptime10) instead.
406
407**System capability**: SystemCapability.MiscServices.Time
408
409**Parameters**
410
411| Name| Type   | Mandatory| Description                              |
412| ------ | ------- | ---- | ------------------------------- |
413| isNano | boolean | No  | Whether the time to return is in nanoseconds. The default value is **false**.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.|
414
415**Return value**
416
417| Type                 | Description      |
418| --------------------- | ------------------------------- |
419| Promise&lt;number&gt; | Promise used to return the time elapsed since system startup, including the deep sleep time.|
420
421**Error codes**
422
423For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
424
425| ID  | Error Message                                                             |
426|---------|-------------------------------------------------------------------|
427| 401     | Parameter error. Possible causes: 1.Incorrect parameter types. |
428
429**Example**
430
431```ts
432import { BusinessError } from '@kit.BasicServicesKit';
433
434try {
435  systemDateTime.getRealTime().then((time: number) => {
436    console.info(`Succeeded in getting real time : ${time}`);
437  }).catch((error: BusinessError) => {
438    console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
439  });
440} catch(e) {
441  let error = e as BusinessError;
442  console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
443}
444```
445
446## systemDateTime.getTime<sup>10+</sup>
447
448getTime(isNanoseconds?: boolean): number
449
450 Obtains the time elapsed since the Unix epoch. This API returns the result synchronously.
451
452**System capability**: SystemCapability.MiscServices.Time
453
454**Parameters**
455
456| Name       | Type   | Mandatory| Description                                                        |
457| ------------- | ------- | ---- | ------------------------------------------------------------ |
458| isNanoseconds | boolean | No  | Whether the time to return is in nanoseconds.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.<br>The default value is **false**.|
459
460**Return value**
461
462| Type  | Description                      |
463| ------ | -------------------------- |
464| number | Time elapsed since the Unix epoch.|
465
466**Example**
467
468```ts
469import { BusinessError } from '@kit.BasicServicesKit';
470
471try {
472  let time = systemDateTime.getTime(true)
473} catch(e) {
474  let error = e as BusinessError;
475  console.info(`Failed to get time. message: ${error.message}, code: ${error.code}`);
476}
477```
478
479## systemDateTime.getUptime<sup>10+</sup>
480
481getUptime(timeType: TimeType, isNanoseconds?: boolean): number
482
483Obtains the time elapsed since system startup. This API returns the result synchronously.
484
485**System capability**: SystemCapability.MiscServices.Time
486
487**Parameters**
488
489| Name       | Type                   | Mandatory| Description                                                                               |
490| ------------- | ----------------------- | ---- |-----------------------------------------------------------------------------------|
491| timeType      | [TimeType](#timetype10) | Yes  | Type of the time to be obtained. The value can only be `STARTUP` or `ACTIVE`.                                                 |
492| isNanoseconds | boolean                 | No  | Whether the time to return is in nanoseconds.<br>- **true**: in nanoseconds.<br>- **false**: in milliseconds.<br>The default value is **false**.|
493
494**Return value**
495
496| Type  | Description                      |
497| ------ | -------------------------- |
498| number | Time elapsed since system startup.|
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| 401       | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. This error code was added due to missing issues. |
507
508**Example**
509
510```ts
511import { BusinessError } from '@kit.BasicServicesKit';
512
513try {
514  let time = systemDateTime.getUptime(systemDateTime.TimeType.ACTIVE, false);
515} catch(e) {
516  let error = e as BusinessError;
517  console.info(`Failed to get uptime. message: ${error.message}, code: ${error.code}`);
518}
519```
520
521## systemDateTime.getDate<sup>(deprecated)</sup>
522
523getDate(callback: AsyncCallback&lt;Date&gt;): void
524
525Obtains the current system date. This API uses an asynchronous callback to return the result.
526
527> **NOTE**
528>
529> This API is supported since API version 9 and deprecated since API version 10. You are advised to use **new Date()** instead, which returns a **Date** object.
530
531**System capability**: SystemCapability.MiscServices.Time
532
533**Parameters**
534
535| Name  | Type          | Mandatory| Description                  |
536| -------- | -------------- | ---- | --------------------- |
537| callback | AsyncCallback&lt;Date&gt; | Yes  | Callback used to return the current system date.|
538
539**Error codes**
540
541For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
542
543| ID| Error Message                                                |
544|-------|------------------------------------------------------|
545| 401   | Parameter error. Possible causes: 1.System error. |
546
547**Example**
548
549```ts
550import { BusinessError } from '@kit.BasicServicesKit';
551
552try {
553  systemDateTime.getDate((error: BusinessError, date: Date) => {
554    if (error) {
555      console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
556      return;
557    }
558    console.info(`Succeeded in getting date : ${date}`);;
559  });
560} catch(e) {
561  let error = e as BusinessError;
562  console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
563}
564```
565
566## systemDateTime.getDate<sup>(deprecated)</sup>
567
568getDate(): Promise&lt;Date&gt;
569
570Obtains the current system date. This API uses a promise to return the result.
571
572> **NOTE**
573>
574> This API is supported since API version 9 and deprecated since API version 10. You are advised to use **new Date()** instead, which returns a **Date** object.
575
576**System capability**: SystemCapability.MiscServices.Time
577
578**Return value**
579
580| Type               | Description                                     |
581| ------------------- | ----------------------------------------- |
582| Promise&lt;Date&gt; | Promise used to return the current system date.|
583
584**Error codes**
585
586For details about the error codes, see [Time and Time Zone Service Error Codes](./errorcode-time.md).
587
588| ID| Error Message                                                |
589|-------|------------------------------------------------------|
590| 401   | Parameter error. Possible causes: 1.System error. |
591
592**Example**
593
594```ts
595import { BusinessError } from '@kit.BasicServicesKit';
596
597try {
598  systemDateTime.getDate().then((date: Date) => {
599    console.info(`Succeeded in getting date : ${date}`);
600  }).catch((error: BusinessError) => {
601    console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
602  });
603} catch(e) {
604  let error = e as BusinessError;
605  console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
606}
607```
608
609## systemDateTime.getTimezone
610
611getTimezone(callback: AsyncCallback&lt;string&gt;): void
612
613Obtains the system time zone. This API uses an asynchronous callback to return the result.
614
615**System capability**: SystemCapability.MiscServices.Time
616
617**Parameters**
618
619| Name  | Type             | Mandatory| Description                |
620| -------- | --------- | ---- | ------------------------ |
621| callback | AsyncCallback&lt;string&gt; | Yes  | Callback used to return the system time zone. For details, see [Supported System Time Zones](#supported-system-time-zones).|
622
623**Example**
624
625```ts
626import { BusinessError } from '@kit.BasicServicesKit';
627
628try {
629  systemDateTime.getTimezone((error: BusinessError, data: string) => {
630    if (error) {
631      console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
632      return;
633    }
634    console.info(`Succeeded in get timezone : ${data}`);;
635  });
636} catch(e) {
637  let error = e as BusinessError;
638  console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
639}
640```
641
642## systemDateTime.getTimezone
643
644getTimezone(): Promise&lt;string&gt;
645
646Obtains the system time zone. This API uses a promise to return the result.
647
648**System capability**: SystemCapability.MiscServices.Time
649
650**Return value**
651
652| Type                 | Description                                 |
653| --------------------- | ------------------------------------- |
654| Promise&lt;string&gt; | Promise used to return the system time zone. For details, see [Supported System Time Zones](#supported-system-time-zones).|
655
656**Example**
657
658```ts
659import { BusinessError } from '@kit.BasicServicesKit';
660
661try {
662  systemDateTime.getTimezone().then((data: string) => {
663    console.info(`Succeeded in getting timezone: ${data}`);
664  }).catch((error: BusinessError) => {
665    console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
666  });
667} catch(e) {
668  let error = e as BusinessError;
669  console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
670}
671```
672
673## systemDateTime.getTimezoneSync<sup>10+</sup>
674
675getTimezoneSync(): string
676
677Obtains the system time zone in synchronous mode.
678
679**System capability**: SystemCapability.MiscServices.Time
680
681**Return value**
682
683| Type  | Description                                                      |
684| ------ | ---------------------------------------------------------- |
685| string | System time zone. For details, see [Supported System Time Zones](#supported-system-time-zones).|
686
687**Example**
688
689```ts
690import { BusinessError } from '@kit.BasicServicesKit';
691
692try {
693  let timezone = systemDateTime.getTimezoneSync();
694} catch(e) {
695  let error = e as BusinessError;
696  console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
697}
698```
699
700## Supported System Time Zones
701
702The following table lists the supported system time zones and the respective offset (unit: h) between each time zone and time zone 0.
703
704| Time Zone                          | Offset        |
705| ------------------------------ | --------------------- |
706| Antarctica/McMurdo             | 12                    |
707| America/Argentina/Buenos_Aires | -3                    |
708| Australia/Sydney               | 10                    |
709| America/Noronha                | -2                    |
710| America/St_Johns               | -3                    |
711| Africa/Kinshasa                | 1                     |
712| America/Santiago               | -3                    |
713| Asia/Shanghai                  | 8                     |
714| Asia/Nicosia                   | 3                     |
715| Europe/Berlin                  | 2                     |
716| America/Guayaquil              | -5                    |
717| Europe/Madrid                  | 2                     |
718| Pacific/Pohnpei                | 11                    |
719| America/Godthab                | -2                    |
720| Asia/Jakarta                   | 7                     |
721| Pacific/Tarawa                 | 12                    |
722| Asia/Almaty                    | 6                     |
723| Pacific/Majuro                 | 12                    |
724| Asia/Ulaanbaatar               | 8                     |
725| America/Mexico_City            | -5                    |
726| Asia/Kuala_Lumpur              | 8                     |
727| Pacific/Auckland               | 12                    |
728| Pacific/Tahiti                 | -10                   |
729| Pacific/Port_Moresby           | 10                    |
730| Asia/Gaza                      | 3                     |
731| Europe/Lisbon                  | 1                     |
732| Europe/Moscow                  | 3                     |
733| Europe/Kiev                    | 3                     |
734| Pacific/Wake                   | 12                    |
735| America/New_York               | -4                    |
736| Asia/Tashkent                  | 5                     |
737