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