系統(tǒng)時間、時區(qū)

2024-01-23 17:26 更新

本模塊主要由系統(tǒng)時間和系統(tǒng)時區(qū)功能組成。開發(fā)者可以設(shè)置、獲取系統(tǒng)時間及系統(tǒng)時區(qū)。

說明

本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。

導(dǎo)入模塊

  1. import systemDateTime from '@ohos.systemDateTime';

systemDateTime.getCurrentTime

getCurrentTime(isNano: boolean, callback: AsyncCallback<number>): void

獲取自Unix紀(jì)元以來經(jīng)過的時間,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

isNano

boolean

返回結(jié)果是否為納秒數(shù)。

- true:表示返回結(jié)果為納秒數(shù)(ns)。

- false:表示返回結(jié)果為毫秒數(shù)(ms)。

callback

AsyncCallback<number>

回調(diào)函數(shù),返回自Unix紀(jì)元以來經(jīng)過的時間。

示例:

  1. try {
  2. systemDateTime.getCurrentTime(true, (error, time) => {
  3. if (error) {
  4. console.info(`Failed to get currentTime. message:${error.message}, code:${error.code}`);
  5. return;
  6. }
  7. console.info(`Succeeded in getting currentTime : ${time}`);
  8. });
  9. } catch(e) {
  10. console.info(`Failed to get currentTime. message:${e.message}, code:${e.code}`);
  11. }

systemDateTime.getCurrentTime

getCurrentTime(callback: AsyncCallback<number>): void

獲取自Unix紀(jì)元以來經(jīng)過的時間,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<number>

回調(diào)函數(shù),返回自Unix紀(jì)元以來經(jīng)過的時間戳(ms)。

示例:

  1. try {
  2. systemDateTime.getCurrentTime((error, time) => {
  3. if (error) {
  4. console.info(`Failed to get currentTime. message:${error.message}, code:${error.code}`);
  5. return;
  6. }
  7. console.info(`Succeeded in getting currentTime : ${time}`);
  8. });
  9. } catch(e) {
  10. console.info(`Failed to get currentTime. message:${e.message}, code:${e.code}`);
  11. }

systemDateTime.getCurrentTime

getCurrentTime(isNano?: boolean): Promise<number>

獲取自Unix紀(jì)元以來經(jīng)過的時間,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

isNano

boolean

返回結(jié)果是否為納秒數(shù)。

- true:表示返回結(jié)果為納秒數(shù)(ns)。

- false:表示返回結(jié)果為毫秒數(shù)(ms)。

返回值:

類型

說明

Promise<number>

Promise對象,返回自Unix紀(jì)元以來經(jīng)過的時間戳。

示例:

  1. try {
  2. systemDateTime.getCurrentTime().then((time) => {
  3. console.info(`Succeeded in getting currentTime : ${time}`);
  4. }).catch((error) => {
  5. console.info(`Failed to get currentTime. message:${error.message}, code:${error.code}`);
  6. });
  7. } catch(e) {
  8. console.info(`Failed to get currentTime. message:${e.message}, code:${e.code}`);
  9. }

systemDateTime.getRealActiveTime

getRealActiveTime(isNano: boolean, callback: AsyncCallback<number>): void

獲取自系統(tǒng)啟動以來經(jīng)過的時間,不包括深度睡眠時間,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

isNano

boolean

返回結(jié)果是否為納秒數(shù)。

- true:表示返回結(jié)果為納秒數(shù)(ns)。

- false:表示返回結(jié)果為毫秒數(shù)(ms)。

callback

AsyncCallback<number>

回調(diào)函數(shù),返回自系統(tǒng)啟動以來經(jīng)過的時間,但不包括深度睡眠時間。

示例:

  1. try {
  2. systemDateTime.getRealActiveTime(true, (error, time) => {
  3. if (error) {
  4. console.info(`Failed to get real active time. message:${error.message}, code:${error.code}`);
  5. return;
  6. }
  7. console.info(`Succeeded in getting real active time : ${time}`);
  8. });
  9. } catch(e) {
  10. console.info(`Failed to get real active time. message:${e.message}, code:${e.code}`);
  11. }

systemDateTime.getRealActiveTime

getRealActiveTime(callback: AsyncCallback<number>): void

獲取自系統(tǒng)啟動以來經(jīng)過的時間,不包括深度睡眠時間,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<number>

回調(diào)函數(shù),返回自系統(tǒng)啟動以來經(jīng)過的時間,但不包括度睡眠時間。

示例:

  1. try {
  2. systemDateTime.getRealActiveTime((error, time) => {
  3. if (error) {
  4. console.info(`Failed to get real active time. message:${error.message}, code:${error.code}`);
  5. return;
  6. }
  7. console.info(`Succeeded in getting real active time : ${time}`);
  8. });
  9. } catch(e) {
  10. console.info(`Failed to get real active time. message:${e.message}, code:${e.code}`);
  11. }

systemDateTime.getRealActiveTime

getRealActiveTime(isNano?: boolean): Promise<number>

獲取自系統(tǒng)啟動以來經(jīng)過的時間,不包括深度睡眠時間,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

isNano

boolean

返回結(jié)果是否為納秒數(shù)。

- true:表示返回結(jié)果為納秒數(shù)(ns)。

- false:表示返回結(jié)果為毫秒數(shù)(ms)。

返回值:

類型

說明

Promise<number>

Promise對象,返回自系統(tǒng)啟動以來經(jīng)過的時間,但不包括深度睡眠時間。

示例:

  1. try {
  2. systemDateTime.getRealActiveTime().then((time) => {
  3. console.info(`Succeeded in getting real active time : ${time}`);
  4. }).catch((error) => {
  5. console.info(`Failed to get real active time. message:${error.message}, code:${error.code}`);
  6. });
  7. } catch(e) {
  8. console.info(`Failed to get real active time. message:${e.message}, code:${e.code}`);
  9. }

systemDateTime.getRealTime

getRealTime(isNano: boolean, callback: AsyncCallback<number>): void

獲取自系統(tǒng)啟動以來經(jīng)過的時間,包括深度睡眠時間,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

isNano

boolean

返回結(jié)果是否為納秒數(shù)。

- true:表示返回結(jié)果為納秒數(shù)(ns)。

- false:表示返回結(jié)果為毫秒數(shù)(ms)。

callback

AsyncCallback<number>

回調(diào)函數(shù),返回自系統(tǒng)啟動以來經(jīng)過的時間,包括深度睡眠時間。

示例:

  1. try {
  2. systemDateTime.getRealTime(true, (error, time) => {
  3. if (error) {
  4. console.info(`Failed to get real time. message:${error.message}, code:${error.code}`);
  5. return;
  6. }
  7. console.info(`Succeeded in getting real time : ${time}`);
  8. });
  9. } catch(e) {
  10. console.info(`Failed to get real time. message:${e.message}, code:${e.code}`);
  11. }

systemDateTime.getRealTime

getRealTime(callback: AsyncCallback<number>): void

獲取自系統(tǒng)啟動以來經(jīng)過的時間,包括深度睡眠時間,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<number>

回調(diào)函數(shù),返回自系統(tǒng)啟動以來經(jīng)過的時間,包括深度睡眠時間。

示例:

  1. try {
  2. systemDateTime.getRealTime((error, time) => {
  3. if (error) {
  4. console.info(`Failed to get real time. message:${error.message}, code:${error.code}`);
  5. return;
  6. }
  7. console.info(`Succeeded in getting real time : ${time}`);
  8. });
  9. } catch(e) {
  10. console.info(`Failed to get real time. message:${e.message}, code:${e.code}`);
  11. }

systemDateTime.getRealTime

getRealTime(isNano?: boolean): Promise<number>

獲取自系統(tǒng)啟動以來經(jīng)過的時間,包括深度睡眠時間,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

isNano

boolean

返回結(jié)果是否為納秒數(shù)。

- true:表示返回結(jié)果為納秒數(shù)(ns)。

- false:表示返回結(jié)果為毫秒數(shù)(ms)。

返回值:

類型

說明

Promise<number>

Promise對象,返回自系統(tǒng)啟動以來經(jīng)過的時間,包括深度睡眠時間。

示例:

  1. try {
  2. systemDateTime.getRealTime().then((time) => {
  3. console.info(`Succeeded in getting real time : ${time}`);
  4. }).catch((error) => {
  5. console.info(`Failed to get real time. message:${error.message}, code:${error.code}`);
  6. });
  7. } catch(e) {
  8. console.info(`Failed to get real time. message:${e.message}, code:${e.code}`);
  9. }

systemDateTime.getDate

getDate(callback: AsyncCallback<Date>): void

獲取當(dāng)前系統(tǒng)日期,使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<Date>

回調(diào)函數(shù),返回當(dāng)前系統(tǒng)日期。

示例:

  1. try {
  2. systemDateTime.getDate((error, date) => {
  3. if (error) {
  4. console.info(`Failed to get date. message:${error.message}, code:${error.code}`);
  5. return;
  6. }
  7. console.info(`Succeeded in getting date : ${date}`);;
  8. });
  9. } catch(e) {
  10. console.info(`Failed to get date. message:${e.message}, code:${e.code}`);
  11. }

systemDateTime.getDate

getDate(): Promise<Date>

獲取當(dāng)前系統(tǒng)日期,使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

返回值:

類型

說明

Promise<Date>

Promise對象,返回當(dāng)前系統(tǒng)日期。

示例:

  1. try {
  2. systemDateTime.getDate().then((date) => {
  3. console.info(`Succeeded in getting date : ${date}`);
  4. }).catch((error) => {
  5. console.info(`Failed to get date. message:${error.message}, code:${error.code}`);
  6. });
  7. } catch(e) {
  8. console.info(`Failed to get date. message:${e.message}, code:${e.code}`);
  9. }

systemDateTime.getTimezone

getTimezone(callback: AsyncCallback<string>): void

獲取系統(tǒng)時區(qū),使用callback異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<string>

回調(diào)函數(shù),返回系統(tǒng)時區(qū)。具體可見支持的系統(tǒng)時區(qū) 。

示例:

  1. try {
  2. systemDateTime.getTimezone((error, data) => {
  3. if (error) {
  4. console.info(`Failed to get timezone. message:${error.message}, code:${error.code}`);
  5. return;
  6. }
  7. console.info(`Succeeded in get timezone : ${data}`);;
  8. });
  9. } catch(e) {
  10. console.info(`Failed to get timezone. message:${e.message}, code:${e.code}`);
  11. }

systemDateTime.getTimezone

getTimezone(): Promise<string>

獲取系統(tǒng)時區(qū),使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.MiscServices.Time

返回值:

類型

說明

Promise<string>

Promise對象,返回系統(tǒng)時區(qū)。具體可見支持的系統(tǒng)時區(qū) 。

示例:

  1. try {
  2. systemDateTime.getTimezone().then((data) => {
  3. console.info(`Succeeded in getting timezone: ${data}`);
  4. }).catch((error) => {
  5. console.info(`Failed to get timezone. message:${error.message}, code:${error.code}`);
  6. });
  7. } catch(e) {
  8. console.info(`Failed to get timezone. message:${e.message}, code:${e.code}`);
  9. }

支持的系統(tǒng)時區(qū)

支持的系統(tǒng)時區(qū)及各時區(qū)與0時區(qū)相比的偏移量(單位:h)可見下表。

時區(qū)

偏移量

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

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號