The 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.
getCurrentTime(isNano: boolean, callback: AsyncCallback<number>): void
Obtains the time elapsed since the Unix epoch. This API uses an asynchronous callback to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getTime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| isNano | boolean | Yes | Whether the time to return is in nanoseconds. - true: The result is in nanoseconds. - false: The result is in milliseconds. |
| callback | AsyncCallback<number> | Yes | Callback used to return the time elapsed since the Unix epoch. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getCurrentTime(true, (error: BusinessError, time: number) => {
if (error) {
console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in getting currentTime: ${time}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
} getCurrentTime(callback: AsyncCallback<number>): void
Obtains the time elapsed since the Unix epoch. This API uses an asynchronous callback to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getTime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<number> | Yes | Callback used to return the time elapsed since the Unix epoch, in milliseconds. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getCurrentTime((error: BusinessError, time: number) => {
if (error) {
console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in getting currentTime : ${time}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
} getCurrentTime(isNano?: boolean): Promise<number>
Obtains the time elapsed since the Unix epoch. This API uses a promise to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getTime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| isNano | boolean | No | Whether the time to return is in nanoseconds. The default value is false. The default value is false. - true: The result is in nanoseconds. - false: The result is in milliseconds. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the time elapsed since the Unix epoch. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getCurrentTime().then((time: number) => {
console.info(`Succeeded in getting currentTime : ${time}`);
}).catch((error: BusinessError) => {
console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get currentTime. message: ${error.message}, code: ${error.code}`);
} getRealActiveTime(isNano: boolean, callback: AsyncCallback<number>): void
Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses an asynchronous callback to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getUptime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| isNano | boolean | Yes | Whether the time to return is in nanoseconds. - true: The result is in nanoseconds. - false: The result is in milliseconds. |
| callback | AsyncCallback<number> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getRealActiveTime(true, (error: BusinessError, time: number) => {
if (error) {
console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in getting real active time : ${time}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
} getRealActiveTime(callback: AsyncCallback<number>): void
Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses an asynchronous callback to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getUptime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<number> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getRealActiveTime((error: BusinessError, time: number) => {
if (error) {
console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in getting real active time : ${time}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
} getRealActiveTime(isNano?: boolean): Promise<number>
Obtains the time elapsed since system startup, excluding the deep sleep time. This API uses a promise to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getUptime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| isNano | boolean | No | Whether the time to return is in nanoseconds. The default value is false. - true: The result is in nanoseconds. - false: The result is in milliseconds. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the time elapsed since system startup, excluding the deep sleep time. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getRealActiveTime().then((time: number) => {
console.info(`Succeeded in getting real active time : ${time}`);
}).catch((error: BusinessError) => {
console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get real active time. message: ${error.message}, code: ${error.code}`);
} getRealTime(isNano: boolean, callback: AsyncCallback<number>): void
Obtains the time elapsed since system startup, including the deep sleep time. This API uses an asynchronous callback to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getUptime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| isNano | boolean | Yes | Whether the time to return is in nanoseconds. - true: The result is in nanoseconds. - false: The result is in milliseconds. |
| callback | AsyncCallback<number> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getRealTime(true, (error: BusinessError, time: number) => {
if (error) {
console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in getting real time : ${time}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
} getRealTime(callback: AsyncCallback<number>): void
Obtains the time elapsed since system startup, including the deep sleep time. This API uses an asynchronous callback to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getUptime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<number> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getRealTime((error: BusinessError, time: number) => {
if (error) {
console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in getting real time : ${time}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
} getRealTime(isNano?: boolean): Promise<number>
Obtains the time elapsed since system startup, including the deep sleep time. This API uses a promise to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getUptime instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| isNano | boolean | No | Whether the time to return is in nanoseconds. The default value is false. The default value is false. - true: The result is in nanoseconds. - false: The result is in milliseconds. |
Return value
| Type | Description |
|---|---|
| Promise<number> | Promise used to return the time elapsed since system startup, including the deep sleep time. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getRealTime().then((time: number) => {
console.info(`Succeeded in getting real time : ${time}`);
}).catch((error: BusinessError) => {
console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get real time. message: ${error.message}, code: ${error.code}`);
} getDate(callback: AsyncCallback<Date>): void
Obtains the current system date. This API uses an asynchronous callback to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use the new Date() method described in How do I convert a string in time format to a Date object instead, which returns the Date instance object.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<Date> | Yes | Callback used to return the current system date. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getDate((error: BusinessError, date: Date) => {
if (error) {
console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in getting date : ${date}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
} getDate(): Promise<Date>
Obtains the current system date. This API uses a promise to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use the new Date() method described in How do I convert a string in time format to a Date object instead, which returns the Date instance object.
System capability: SystemCapability.MiscServices.Time
Return value
| Type | Description |
|---|---|
| Promise<Date> | Promise used to return the current system date. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getDate().then((date: Date) => {
console.info(`Succeeded in getting date : ${date}`);
}).catch((error: BusinessError) => {
console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get date. message: ${error.message}, code: ${error.code}`);
} getTimezone(callback: AsyncCallback<string>): void
Obtains the system time zone. This API uses an asynchronous callback to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getTimezone instead.
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<string> | Yes | Callback used to return the system time zone. For details, see Supported System Time Zones. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getTimezone((error: BusinessError, data: string) => {
if (error) {
console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in getting timezone : ${data}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
} getTimezone(): Promise<string>
Obtains the system time zone. This API uses a promise to return the result.
This API is supported since API version 8 and deprecated since API version 9. You are advised to use systemDateTime.getTimezone instead.
System capability: SystemCapability.MiscServices.Time
Return value
| Type | Description |
|---|---|
| Promise<string> | Promise used to return the system time zone. For details, see Supported System Time Zones. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.getTimezone().then((data: string) => {
console.info(`Succeeded in getting timezone: ${data}`);
}).catch((error: BusinessError) => {
console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
} setTime(time : number, callback : AsyncCallback<void>) : void
Sets the system time. This API uses an asynchronous callback to return the result.
This API is supported since API version 7 and deprecated since API version 9.
Required permissions: ohos.permission.SET_TIME
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| time | number | Yes | Timestamp to set, in milliseconds. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
// Set the system time to 2021-01-20 02:36:25.
let time = 1611081385000;
try {
systemTime.setTime(time, (error: BusinessError) => {
if (error) {
console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in setting time`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`);
} setTime(time : number) : Promise<void>
Sets the system time. This API uses a promise to return the result.
This API is supported since API version 7 and deprecated since API version 9.
Required permissions: ohos.permission.SET_TIME
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| time | number | Yes | Timestamp to set, in milliseconds. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise that returns no value. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
// Set the system time to 2021-01-20 02:36:25.
let time = 1611081385000;
try {
systemTime.setTime(time).then(() => {
console.info(`Succeeded in setting time.`);
}).catch((error: BusinessError) => {
console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to set time. message: ${error.message}, code: ${error.code}`);
} setDate(date: Date, callback: AsyncCallback<void>): void
Sets the system date. This API uses an asynchronous callback to return the result.
This API is supported since API version 7 and deprecated since API version 9.
Required permissions: ohos.permission.SET_TIME
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| date | Date | Yes | Target date to set. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let date = new Date();
try {
systemTime.setDate(date, (error: BusinessError) => {
if (error) {
console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in setting date.`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`);
} setDate(date: Date): Promise<void>
Sets the system date. This API uses a promise to return the result.
This API is supported since API version 7 and deprecated since API version 9.
Required permissions: ohos.permission.SET_TIME
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| date | Date | Yes | Target date to set. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise that returns no value. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let date = new Date();
try {
systemTime.setDate(date).then(() => {
console.info(`Succeeded in setting date.`);
}).catch((error: BusinessError) => {
console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to set date. message: ${error.message}, code: ${error.code}`);
} setTimezone(timezone: string, callback: AsyncCallback<void>): void
Sets the system time zone. This API uses an asynchronous callback to return the result.
This API is supported since API version 7 and deprecated since API version 9.
Required permissions: ohos.permission.SET_TIME_ZONE
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| timezone | string | Yes | System time zone to set. For details, see Supported System Time Zones. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.setTimezone('Asia/Shanghai', (error: BusinessError) => {
if (error) {
console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`);
return;
}
console.info(`Succeeded in setting timezone.`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`);
} setTimezone(timezone: string): Promise<void>
Sets the system time zone. This API uses a promise to return the result.
This API is supported since API version 7 and deprecated since API version 9.
Required permissions: ohos.permission.SET_TIME_ZONE
System capability: SystemCapability.MiscServices.Time
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| timezone | string | Yes | System time zone to set. For details, see Supported System Time Zones. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise that returns no value. |
Error codes
For details about the error codes, see Time and Time Zone Service Error Codes.
| Error Code | Error Message |
|---|---|
| -1 | Parameter check failed, permission denied, or system error. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
systemTime.setTimezone('Asia/Shanghai').then(() => {
console.info(`Succeeded in setting timezone.`);
}).catch((error: BusinessError) => {
console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`);
});
} catch(e) {
let error = e as BusinessError;
console.info(`Failed to set timezone. message: ${error.message}, code: ${error.code}`);
} The following table lists the supported system time zones and the respective offset (unit: h) between each time zone and time zone 0.
| Time Zone | Offset |
|---|---|
| Antarctica/McMurdo | 12 |
| America/Argentina/Buenos_Aires | -3 |
| Australia/Sydney | 10 |
| America/Noronha | -2 |
| America/St_Johns | -3 |
| Africa/Kinshasa | 1 |
| America/Santiago | -3 |
| Asia/Shanghai | 8 |
| Asia/Nicosia | 3 |
| Europe/Berlin | 2 |
| America/Guayaquil | -5 |
| Europe/Madrid | 2 |
| Pacific/Pohnpei | 11 |
| America/Godthab | -2 |
| Asia/Jakarta | 7 |
| Pacific/Tarawa | 12 |
| Asia/Almaty | 6 |
| Pacific/Majuro | 12 |
| Asia/Ulaanbaatar | 8 |
| America/Mexico_City | -5 |
| Asia/Kuala_Lumpur | 8 |
| Pacific/Auckland | 12 |
| Pacific/Tahiti | -10 |
| Pacific/Port_Moresby | 10 |
| Asia/Gaza | 3 |
| Europe/Lisbon | 1 |
| Europe/Moscow | 3 |
| Europe/Kiev | 3 |
| Pacific/Wake | 12 |
| America/New_York | -4 |
| Asia/Tashkent | 5 |