ZonedDateTime 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
ISO-8601 日历系统中具有时区的日期时间,例如 2007-12-03T10:15:30+01:00 Europe/Paris。
[Android.Runtime.Register("java/time/ZonedDateTime", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class ZonedDateTime : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Time.Chrono.IChronoZonedDateTime
[<Android.Runtime.Register("java/time/ZonedDateTime", ApiSince=26, DoNotGenerateAcw=true)>]
type ZonedDateTime = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IChronoZonedDateTime
interface IComparable
interface ITemporal
interface ITemporalAccessor
- 继承
- 属性
- 实现
注解
ISO-8601 日历系统中具有时区的日期时间,例如 2007-12-03T10:15:30+01:00 Europe/Paris。
ZonedDateTime 是具有时区的日期时间的不可变表示形式。 此类将所有日期和时间字段存储到纳秒精度和时区,以及用于处理不明确的本地日期时间的区域偏移量。 例如,值“2007 年 10 月 2 日 13:45.30.123456789 +02:00”可以存储在一个 ZonedDateTime区域中。
此类处理从本地时间行 LocalDateTime 到即时时间线的 Instant转换。 两个时间线之间的差异是 UTC/格林威治的偏移量,由 a ZoneOffset表示。
在两个时间线之间进行转换涉及使用从中ZoneId访问的ZoneRules rules偏移量计算偏移量。 获取即时偏移量非常简单,因为每个即时的偏移量正好有一个有效偏移量。 相比之下,获取本地日期时间的偏移量并不简单。 有三种情况: <ul><li>Normal,一个有效偏移量。 对于大部分年份,正常情况适用,其中本地日期时间存在单个有效偏移量。</li li><>Gap,具有零有效偏移量。 这是当时钟跳跃通常是由于春夏令时从“冬天”更改为“夏天”。 在间隙中,存在没有有效偏移量的本地日期时间值。</li li><>Overlap,具有两个有效偏移量。 这是当时钟被设置通常由于秋季夏令时从“夏季”更改为“冬季”。 在重叠中,有两个有效偏移量的本地日期时间值。</li></ul>
通过获取偏移量,从本地日期时间直接或隐式转换为即时的任何方法都有可能很复杂。
对于 Gap,一般策略是,如果本地日期时间在 Gap 中间下降,则生成的区域日期时间将按 Gap 的长度向前移动本地日期时间,从而导致日期时间在以后的偏移量(通常是“夏季”时间)。
对于重叠,一般策略是,如果本地日期时间处于重叠中间,则保留以前的偏移量。 如果没有以前的偏移量,或者以前的偏移量无效,则使用以前的偏移量,通常是“summer”时间。 另外两种方法 #withEarlierOffsetAtOverlap() ,以及 #withLaterOffsetAtOverlap()帮助管理重叠情况。
在设计方面,此类应主要被视为 a LocalDateTime 和 a ZoneId的组合。
ZoneOffset这是一个至关重要但次要的信息片段,用于确保类表示即时,尤其是在夏令时重叠期间。
已在 1.8 中添加。
适用于 . 的 java.time.ZonedDateTimeJava 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
属性
| 名称 | 说明 |
|---|---|
| Class |
返回此 |
| DayOfMonth |
获取月份日期字段。 |
| DayOfWeek |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| DayOfYear |
获取年份日期字段。 |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| Hour |
获取“天小时”字段。 |
| JniIdentityHashCode |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| JniPeerMembers |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Minute |
获取小时分钟字段。 |
| Month |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MonthValue |
获取从 1 到 12 的年月字段。 |
| Nano |
获取 nano-of-second 字段。 |
| Offset |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PeerReference |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Second |
获取分钟秒字段。 |
| ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 (继承自 Object) |
| ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 (继承自 Object) |
| Year |
获取年份字段。 |
| Zone |
ISO-8601 日历系统中具有时区的日期时间,例如 |
方法
| 名称 | 说明 |
|---|---|
| Clone() |
创建并返回此对象的副本。 (继承自 Object) |
| CompareTo(Object) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Dispose() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Dispose(Boolean) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
| Format(DateTimeFormatter) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| From(ITemporalAccessor) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Get(ITemporalField) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
| GetLong(ITemporalField) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IsSupported(ITemporalField) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IsSupported(ITemporalUnit) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
| Minus(Int64, ITemporalUnit) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Minus(ITemporalAmount) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MinusDays(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MinusHours(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MinusMinutes(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MinusMonths(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MinusNanos(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MinusSeconds(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MinusWeeks(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| MinusYears(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
| NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
| Now() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Now(Clock) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Now(ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Of(Int32, Int32, Int32, Int32, Int32, Int32, Int32, ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Of(LocalDate, LocalTime, ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Of(LocalDateTime, ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| OfInstant(Instant, ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| OfInstant(LocalDateTime, ZoneOffset, ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| OfLocal(LocalDateTime, ZoneId, ZoneOffset) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| OfStrict(LocalDateTime, ZoneOffset, ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Parse(ICharSequence, DateTimeFormatter) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Parse(ICharSequence) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Parse(String, DateTimeFormatter) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Parse(String) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Plus(Int64, ITemporalUnit) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Plus(ITemporalAmount) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PlusDays(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PlusHours(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PlusMinutes(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PlusMonths(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PlusNanos(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PlusSeconds(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PlusWeeks(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| PlusYears(Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Query(ITemporalQuery) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Range(ITemporalField) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| ToArray<T>() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| ToLocalDate() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| ToLocalDateTime() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| ToLocalTime() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| ToOffsetDateTime() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| TruncatedTo(ITemporalUnit) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| UnregisterFromRuntime() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Until(ITemporal, ITemporalUnit) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><> (继承自 Object) |
| Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| With(ITemporalAdjuster) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| With(ITemporalField, Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithDayOfMonth(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithDayOfYear(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithEarlierOffsetAtOverlap() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithFixedOffsetZone() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithHour(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithLaterOffsetAtOverlap() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithMinute(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithMonth(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithNano(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithSecond(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithYear(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithZoneSameInstant(ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| WithZoneSameLocal(ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
显式接口实现
| 名称 | 说明 |
|---|---|
| IChronoZonedDateTime.Plus(Int64, ITemporalUnit) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IChronoZonedDateTime.ToLocalDateTime() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IChronoZonedDateTime.With(ITemporalField, Int64) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IChronoZonedDateTime.WithEarlierOffsetAtOverlap() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IChronoZonedDateTime.WithLaterOffsetAtOverlap() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IChronoZonedDateTime.WithZoneSameInstant(ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IChronoZonedDateTime.WithZoneSameLocal(ZoneId) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IJavaPeerable.Disposed() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IJavaPeerable.DisposeUnlessReferenced() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IJavaPeerable.Finalized() |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IJavaPeerable.JniManagedPeerState |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
ISO-8601 日历系统中具有时区的日期时间,例如 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |