ZoneId 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
时区 ID,例如 Europe/Paris。
[Android.Runtime.Register("java/time/ZoneId", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class ZoneId : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/time/ZoneId", ApiSince=26, DoNotGenerateAcw=true)>]
type ZoneId = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 继承
- 派生
- 属性
- 实现
注解
时区 ID,例如 Europe/Paris。
A ZoneId 用于标识用于在 a Instant 和 a LocalDateTime之间转换的规则。 ID 有两种不同的 ID 类型:<ul><li>固定偏移量 - 与 UTC/格林威治完全解析的偏移量,它对所有本地日期时间 <li>地理区域使用相同的偏移量 - 一个区域,其中一组特定的规则用于查找 UTC/格林威治的偏移量应用 </ul> 大多数固定偏移量。ZoneOffset 调用 #normalized() 任何 ZoneId 值将确保固定偏移 ID 表示为一个 ZoneOffset。
由以下方法定义 ZoneRules实际规则:描述偏移变化的时间和方式。 此类只是用于获取基础规则的 ID。 之所以采用此方法,是因为规则由政府定义并经常更改,而 ID 是稳定的。
区别具有其他效果。 序列化 ZoneId 只会发送 ID,而序列化规则会发送整个数据集。 同样,两个 ID 的比较仅检查 ID,而两个规则的比较将检查整个数据集。
<h2>时区 ID</h2> ID 在系统中是唯一的。 有三种类型的 ID。
最简单的 ID 类型是从 ZoneOffset. 这包括以“+”或“-”开头的“Z”和 ID。
下一种类型的 ID 是带有某种形式的前缀的偏移样式 ID,例如“GMT+2”或“UTC+01:00”。 识别的前缀为“UTC”、“GMT”和“UT”。 偏移量是后缀,将在创建过程中规范化。 这些 ID 可以规范化为 ZoneOffset using normalized()。
第三种类型的 ID 是基于区域的 ID。 基于区域的 ID 必须包含两个或多个字符,而不是以“UTC”、“GMT”、“UT”、“+”或“-”开头。 基于区域的 ID 由配置定义。 配置侧重于提供从 ID 到基础 ZoneRules的查找。
时区规则由政府定义,并经常更改。 有许多组织称为组,用于监视时区更改并整理它们。 默认组为 IANA 时区数据库(TZDB)。 其他组织包括国际田联(航空业机构)和Microsoft。
每个组为它提供的区域 ID 定义其自己的格式。 TZDB 组定义了“欧洲/伦敦”或“美国/New_York”等 ID。 TZDB ID 优先于其他组。
强烈建议将组名称包含在 TZDB 以外的组提供的所有 ID 中,以避免冲突。 例如,IATA 航空公司时区区域 ID 通常与三个字母机场代码相同。 然而,乌得勒支机场有代码“UTC”,这显然是一个冲突。 TZDB 以外的组的区域 ID 的建议格式为“group~region”。 因此,如果定义了 IATA 数据,Utrecht 机场将是“IATA~UTC”。
<h2>序列化</h2> 此类可以序列化并存储外部形式的字符串区域 ID。 子 ZoneOffset 类使用仅存储 UTC/格林威治偏移量的专用格式。
ZoneId可以在 ID 未知的Java运行时中反序列化 A。 例如,如果服务器端Java运行时已使用新的区域 ID 进行更新,但客户端Java运行时尚未更新。 在这种情况下,ZoneId对象将存在,可以使用 getId、equals、hashCode、 toStringgetDisplayName 和normalized查询对象。 但是,任何调用getRules都将失败,ZoneRulesException 此方法旨在允许ZonedDateTime在具有不完整时区信息的Java运行时上加载和查询,但不允许对其进行修改。
已在 1.8 中添加。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
构造函数
| 名称 | 说明 |
|---|---|
| ZoneId(IntPtr, JniHandleOwnership) |
时区 ID,例如 |
属性
| 名称 | 说明 |
|---|---|
| AvailableZoneIds |
时区 ID,例如 |
| Class |
返回此 |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| Id |
时区 ID,例如 |
| JniIdentityHashCode |
时区 ID,例如 |
| JniPeerMembers |
时区 ID,例如 |
| PeerReference |
时区 ID,例如 |
| Rules |
时区 ID,例如 |
| ShortIds |
时区 ID,例如 |
| ThresholdClass |
时区 ID,例如 |
| ThresholdType |
时区 ID,例如 |
方法
| 名称 | 说明 |
|---|---|
| Clone() |
创建并返回此对象的副本。 (继承自 Object) |
| Dispose() |
时区 ID,例如 |
| Dispose(Boolean) |
时区 ID,例如 |
| Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
| From(ITemporalAccessor) |
时区 ID,例如 |
| GetDisplayName(TextStyle, Locale) |
时区 ID,例如 |
| GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
| JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
| Normalized() |
时区 ID,例如 |
| Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
| NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
| Of(String, IDictionary<String,String>) |
时区 ID,例如 |
| Of(String) |
时区 ID,例如 |
| OfOffset(String, ZoneOffset) |
时区 ID,例如 |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| SystemDefault() |
时区 ID,例如 |
| ToArray<T>() |
时区 ID,例如 |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterFromRuntime() |
时区 ID,例如 |
| Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><> (继承自 Object) |
| Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
| 名称 | 说明 |
|---|---|
| IJavaPeerable.Disposed() |
时区 ID,例如 |
| IJavaPeerable.DisposeUnlessReferenced() |
时区 ID,例如 |
| IJavaPeerable.Finalized() |
时区 ID,例如 |
| IJavaPeerable.JniManagedPeerState |
时区 ID,例如 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
时区 ID,例如 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
时区 ID,例如 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
时区 ID,例如 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
时区 ID,例如 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |