DateTimeFormatter.ParsedLeapSecond 方法

定义

一个查询,用于访问是否分析了 leap-second。

[Android.Runtime.Register("parsedLeapSecond", "()Ljava/time/temporal/TemporalQuery;", "", ApiSince=26)]
public static Java.Time.Temporal.ITemporalQuery? ParsedLeapSecond();
[<Android.Runtime.Register("parsedLeapSecond", "()Ljava/time/temporal/TemporalQuery;", "", ApiSince=26)>]
static member ParsedLeapSecond : unit -> Java.Time.Temporal.ITemporalQuery

返回

一个查询,用于访问是否分析了 leap-second

属性

注解

一个查询,用于访问是否分析了 leap-second。

这会返回一个单一实例 TemporalQuery 查询,该查询提供对分析中的其他信息的访问权限。 如果分析看到一个 leap-second,则查询始终返回非 null 布尔值,如果不是,则返回 true。

即时分析处理“23:59:60”的特殊“leap second”时间。 跳跃秒发生在 UTC 时区的“23:59:60”,但在不同时区的其他本地时间。 为了避免这种潜在的歧义,飞跃秒的处理仅限于 DateTimeFormatterBuilder#appendInstant()此方法,因为该方法始终使用 UTC 区域偏移量分析即时。

如果收到“23:59:60”的时间,则会应用简单的转换,将第二分钟 60 替换为 59。 此查询可用于分析结果,以确定是否进行了 leap-second 调整。 如果查询确实调整为删除了 leap-second,则false返回该查询true(如果不是)。 请注意,应用 leap-second 平滑机制(如 UTC-SLS)是应用程序的责任,如下所示:

TemporalAccessor parsed = formatter.parse(str);
             Instant instant = parsed.query(Instant::from);
             if (parsed.query(DateTimeFormatter.parsedLeapSecond())) {
               // validate leap-second is correct and apply correct smoothing
             }

Java文档java.time.format.DateTimeFormatter.parsedLeapSecond()

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于