4d460805创建于 2025年4月25日历史提交

@ohos.systemDateTime (系统时间、时区)

本模块主要由系统时间和系统时区功能组成。开发者可以获取系统时间及系统时区。

说明:

本模块首批接口从API version 18开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import { systemDateTime } from '@kit.BasicServicesKit';

TimeType

定义获取时间的枚举类型。

支持平台: Android 、iOS

名称 说明 Android平台 iOS平台
STARTUP 0 自系统启动以来经过的时间,包括深度睡眠时间。 支持 支持
ACTIVE 1 自系统启动以来经过的时间,不包括深度睡眠时间。 支持 支持

systemDateTime.getTime

getTime(isNanoseconds?: boolean): number

使用同步方式获取自Unix纪元以来经过的时间。

支持平台: Android 、iOS

参数:

参数名 类型 必填 说明 Android平台 iOS平台
isNanoseconds boolean 返回结果是否为纳秒数。
- true:表示返回结果为纳秒数(ns)。
- false:表示返回结果为毫秒数(ms)。
默认值为false。
支持 支持

返回值

类型 说明
number 自Unix纪元以来经过的时间。

示例:

import { BusinessError } from '@kit.BasicServicesKit';

try {
  let time = systemDateTime.getTime(true)
} catch(e) {
  let error = e as BusinessError;
  console.info(`Failed to get time. message: ${error.message}, code: ${error.code}`);
}

systemDateTime.getUptime

getUptime(timeType: TimeType, isNanoseconds?: boolean): number

使用同步方式获取自系统启动以来经过的时间。

支持平台: Android 、iOS

参数:

参数名 类型 必填 说明 Android平台 iOS平台
timeType TimeType 获取时间的类型,仅能为STARTUP或者ACTIVE 支持 支持
isNanoseconds boolean 返回结果是否为纳秒数。
- true:表示返回结果为纳秒数(ns)。
- false:表示返回结果为毫秒数(ms)。
默认值为false。
支持 支持

返回值:

类型 说明
number 自系统启动以来经过的时间。

错误码:

错误码ID 错误信息
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.

示例:

import { BusinessError } from '@kit.BasicServicesKit';

try {
  let time = systemDateTime.getUptime(systemDateTime.TimeType.ACTIVE, false);
} catch(e) {
  let error = e as BusinessError;
  console.info(`Failed to get uptime. message: ${error.message}, code: ${error.code}`);
}

systemDateTime.getTimezone

getTimezone(callback: AsyncCallback<string>): void

获取系统时区,使用callback异步回调。

支持平台: Android 、iOS

参数:

参数名 类型 必填 说明 Android平台 iOS平台
callback AsyncCallback<string> 回调函数,返回系统时区。 支持 支持

示例:

import { BusinessError } from '@kit.BasicServicesKit';

try {
  systemDateTime.getTimezone((error: BusinessError, data: string) => {
    if (error) {
      console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
      return;
    }
    console.info(`Succeeded in get timezone : ${data}`);;
  });
} catch(e) {
  let error = e as BusinessError;
  console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
}

systemDateTime.getTimezone

getTimezone(): Promise<string>

获取系统时区,使用Promise异步回调。

支持平台: Android 、iOS

返回值:

类型 说明
Promise<string> Promise对象,返回系统时区。

示例:

import { BusinessError } from '@kit.BasicServicesKit';

try {
  systemDateTime.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}`);
}

systemDateTime.getTimezoneSync

getTimezoneSync(): string

获取系统时区,使用同步方式。

支持平台: Android 、iOS

返回值:

类型 说明
string 返回系统时区。

示例:

import { BusinessError } from '@kit.BasicServicesKit';

try {
  let timezone = systemDateTime.getTimezoneSync();
} catch(e) {
  let error = e as BusinessError;
  console.info(`Failed to get timezone. message: ${error.message}, code: ${error.code}`);
}