openharmony 鸿蒙 capi-timezone-h

2026-08-25 浏览 (1)

timezone.h

概述

提供获取时区信息的能力。

引用文件: <i18n/timezone.h>

库: libohi18n.so

系统能力: SystemCapability.Global.I18n

起始版本: 22

相关模块: i18n

汇总

结构体

名称typedef关键字描述
DateTimeRuleDateTimeRule时间日期规则。
InitialTimeZoneRuleInitialTimeZoneRule起始时区规则。
TimeArrayTimeZoneRuleTimeArrayTimeZoneRule起始时间戳数组定义的时区规则。
AnnualTimeZoneRuleAnnualTimeZoneRule每年生效的时区规则。
TimeZoneRulesTimeZoneRules完整的时区规则。
TimeZoneRuleQueryTimeZoneRuleQuery用于传入查询的信息,并接收查询的结果。

枚举

名称typedef关键字描述
DateRuleTypeDateRuleType日期规则类型的枚举。
TimeRuleTypeTimeRuleType时间规则类型的枚举。

宏定义

名称描述
MAX_YEAR_IN_ANNUAL_TIMEZONE_RULE 0x7fffffff每年生效时区规则的年份最大值。
起始版本: 22

函数

名称描述
I18n_ErrorCode OH_i18n_GetTimeZoneRules(const char* timeZoneID, TimeZoneRules* rules)通过时区ID,获取完整的时区规则。
I18n_ErrorCode OH_i18n_GetFirstStartFromTimeArrayTimeZoneRule(TimeArrayTimeZoneRule* rule, TimeZoneRuleQuery* query)根据TimeArrayTimeZoneRule,获取时区规则的首次生效时间。
I18n_ErrorCode OH_i18n_GetFirstStartFromAnnualTimeZoneRule(AnnualTimeZoneRule* rule, TimeZoneRuleQuery* query)根据AnnualTimeZoneRule,获取时区规则的首次生效时间。
I18n_ErrorCode OH_i18n_GetFinalStartFromTimeArrayTimeZoneRule(TimeArrayTimeZoneRule* rule, TimeZoneRuleQuery* query)根据TimeArrayTimeZoneRule,获取时区规则的最后一次生效时间。
I18n_ErrorCode OH_i18n_GetFinalStartFromAnnualTimeZoneRule(AnnualTimeZoneRule* rule, TimeZoneRuleQuery* query)根据AnnualTimeZoneRule,获取时区规则的最后一次生效时间。
I18n_ErrorCode OH_i18n_GetNextStartFromTimeArrayTimeZoneRule(TimeArrayTimeZoneRule* rule, TimeZoneRuleQuery* query)根据TimeArrayTimeZoneRule,获取时区规则在基准时间之后的下一次生效时间。
I18n_ErrorCode OH_i18n_GetNextStartFromAnnualTimeZoneRule(AnnualTimeZoneRule* rule, TimeZoneRuleQuery* query)根据AnnualTimeZoneRule,获取时区规则在基准时间之后的下一次生效时间。
I18n_ErrorCode OH_i18n_GetPrevStartFromTimeArrayTimeZoneRule(TimeArrayTimeZoneRule* rule, TimeZoneRuleQuery* query)根据TimeArrayTimeZoneRule,获取时区规则在基准时间之前的上一次生效时间。
I18n_ErrorCode OH_i18n_GetPrevStartFromAnnualTimeZoneRule(AnnualTimeZoneRule* rule, TimeZoneRuleQuery* query)根据AnnualTimeZoneRule,获取时区规则在基准时间之前的上一次生效时间。
I18n_ErrorCode OH_i18n_GetStartTimeAt(TimeArrayTimeZoneRule* rule, int32_t index, double* result)根据TimeArrayTimeZoneRule,获取时区规则指定索引的起始时间。
I18n_ErrorCode OH_i18n_GetStartInYear(AnnualTimeZoneRule* rule, int32_t year, TimeZoneRuleQuery* query)根据AnnualTimeZoneRule,获取时区规则在指定年份的生效时间。

枚举类型说明

DateRuleType

enum DateRuleType

描述

日期规则类型的枚举。

系统能力: SystemCapability.Global.I18n

起始版本: 22

枚举项描述
DOM = 0当月的第几天,以2025年为例,十月十六日为:十月的第十六天。
DOW = 1当月的第几个星期几,以2025年为例,十月十六日为:十月的第三个星期四。
DOW_GEQ_DOM = 2当月第几天之后的第一个星期几,以2025年为例,十月十六日为:十月第十三天/十四天/十五天之后的第一个星期四。
DOW_LEQ_DOM = 3当月第几天之前的最后一个星期几,以2025年为例,十月十六日为:十月第二十天之前的最后一个星期四。

TimeRuleType

enum TimeRuleType

描述

时间规则类型的枚举。

系统能力: SystemCapability.Global.I18n

起始版本: 22

枚举项描述
WALL_TIME = 0本地时钟时间(不考虑时区偏移)。
STANDARD_TIME = 1本地标准时间(不考虑夏令时偏移)。
UTC_TIME = 2世界标准时间(UTC时间)。

函数说明

OH_i18n_GetTimeZoneRules()

I18n_ErrorCode OH_i18n_GetTimeZoneRules(const char* timeZoneID, TimeZoneRules* rules)

描述

通过时区ID,获取完整的时区规则。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
const char* timeZoneID时区ID,例如“Asia/Shanghai”。
TimeZoneRules* rules与时区ID对应的完整时区规则TimeZoneRules

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetFirstStartFromTimeArrayTimeZoneRule()

I18n_ErrorCode OH_i18n_GetFirstStartFromTimeArrayTimeZoneRule(TimeArrayTimeZoneRule* rule, TimeZoneRuleQuery* query)

描述

根据TimeArrayTimeZoneRule,获取时区规则的首次生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
TimeArrayTimeZoneRule* rule起始时间戳数组定义的时区规则TimeArrayTimeZoneRule
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetFirstStartFromAnnualTimeZoneRule()

I18n_ErrorCode OH_i18n_GetFirstStartFromAnnualTimeZoneRule(AnnualTimeZoneRule* rule, TimeZoneRuleQuery* query)

描述

根据AnnualTimeZoneRule,获取时区规则的首次生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
AnnualTimeZoneRule* rule每年生效的时区规则AnnualTimeZoneRule
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetFinalStartFromTimeArrayTimeZoneRule()

I18n_ErrorCode OH_i18n_GetFinalStartFromTimeArrayTimeZoneRule(TimeArrayTimeZoneRule* rule, TimeZoneRuleQuery* query)

描述

根据TimeArrayTimeZoneRule,获取时区规则的最后一次生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
TimeArrayTimeZoneRule* rule起始时间戳数组定义的时区规则TimeArrayTimeZoneRule
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetFinalStartFromAnnualTimeZoneRule()

I18n_ErrorCode OH_i18n_GetFinalStartFromAnnualTimeZoneRule(AnnualTimeZoneRule* rule, TimeZoneRuleQuery* query)

描述

根据AnnualTimeZoneRule,获取时区规则的最后一次生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
AnnualTimeZoneRule* rule每年生效的时区规则AnnualTimeZoneRule
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetNextStartFromTimeArrayTimeZoneRule()

I18n_ErrorCode OH_i18n_GetNextStartFromTimeArrayTimeZoneRule(TimeArrayTimeZoneRule* rule, TimeZoneRuleQuery* query)

描述

根据TimeArrayTimeZoneRule,获取时区规则在基准时间之后的下一次生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
TimeArrayTimeZoneRule* rule起始时间戳数组定义的时区规则TimeArrayTimeZoneRule
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetNextStartFromAnnualTimeZoneRule()

I18n_ErrorCode OH_i18n_GetNextStartFromAnnualTimeZoneRule(AnnualTimeZoneRule* rule, TimeZoneRuleQuery* query)

描述

根据AnnualTimeZoneRule,获取时区规则在基准时间之后的下一次生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
AnnualTimeZoneRule* rule每年生效的时区规则AnnualTimeZoneRule
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetPrevStartFromTimeArrayTimeZoneRule()

I18n_ErrorCode OH_i18n_GetPrevStartFromTimeArrayTimeZoneRule(TimeArrayTimeZoneRule* rule, TimeZoneRuleQuery* query)

描述

根据TimeArrayTimeZoneRule,获取时区规则在基准时间之前的上一次生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
TimeArrayTimeZoneRule* rule起始时间戳数组定义的时区规则TimeArrayTimeZoneRule
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetPrevStartFromAnnualTimeZoneRule()

I18n_ErrorCode OH_i18n_GetPrevStartFromAnnualTimeZoneRule(AnnualTimeZoneRule* rule, TimeZoneRuleQuery* query)

描述

根据AnnualTimeZoneRule,获取时区规则在基准时间之前的上一次生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
AnnualTimeZoneRule* rule每年生效的时区规则AnnualTimeZoneRule
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetStartTimeAt()

I18n_ErrorCode OH_i18n_GetStartTimeAt(TimeArrayTimeZoneRule* rule, int32_t index, double* result)

描述

根据TimeArrayTimeZoneRule,获取时区规则指定索引的起始时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
TimeArrayTimeZoneRule* rule起始时间戳数组定义的时区规则TimeArrayTimeZoneRule
int32_t index起始时间的索引。
double* result规则生效的起始时间。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

OH_i18n_GetStartInYear()

I18n_ErrorCode OH_i18n_GetStartInYear(AnnualTimeZoneRule* rule, int32_t year, TimeZoneRuleQuery* query)

描述

根据AnnualTimeZoneRule,获取时区规则在指定年份的生效时间。

系统能力: SystemCapability.Global.I18n

起始版本: 22

参数:

参数项描述
AnnualTimeZoneRule* rule每年生效的时区规则AnnualTimeZoneRule
int32_t year查询的年份。
TimeZoneRuleQuery* query用于传入查询的信息,并接收查询的结果。

返回:

类型说明
I18n_ErrorCode0 - 成功。
8900001 - 传入参数无效。
8900050 - 预期之外的错误,例如内存错误。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 capi-i18n-initialtimezonerule

openharmony 鸿蒙 capi-i18n-timezonerules

openharmony 鸿蒙 capi-resmgr-common-h

openharmony 鸿蒙 capi-i18n-annualtimezonerule

openharmony 鸿蒙 errorcode-font-manager

openharmony 鸿蒙 capi-raw-dir-h

openharmony 鸿蒙 capi-i18n-timezonerulequery

openharmony 鸿蒙 capi-errorcode-h

openharmony 鸿蒙 js-apis-resource-manager

openharmony 鸿蒙 js-apis-sendableResource

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/6ZDH5FHO