java clock函数_java11教程--类Clock用法

一个时钟,使用时区提供对当前时刻,日期和时间的访问。

此类的实例用于查找当前时刻,可以使用存储的时区来解释当前时刻以查找当前日期和时间。

使用Clock是可选的。 所有关键日期时间类还具有now()工厂方法,该方法在默认时区中使用系统时钟。 这种抽象的主要目的是允许在需要时插入备用时钟。 应用程序使用对象来获取当前时间而不是静态方法。 这可以简化测试。

应用程序的最佳实践是将Clock传递给任何需要当前瞬间的方法。 依赖注入框架是实现此目的的一种方法:

public class MyBean {

private Clock clock;// dependency inject

...

public void process(LocalDate eventDate) {

if (eventDate.isBefore(LocalDate.now(clock)) {

...

}

}

}

此方法允许在测试期间使用备用时钟,例如fixed或offset 。

system工厂方法基于最佳可用系统时钟提供时钟。这可以使用System.currentTimeMillis() ,或者如果有可用的更高分辨率时钟。

子类可访问的构造函数。

检查此时钟是否等于另一个时钟。

获得一个始终返回同一时刻的时钟。

获取用于创建日期和时间的时区。

此时钟的哈希码。

获取时钟的当前瞬间。

获取时钟的当前毫秒时刻。

获得一个时钟,该时钟返回指定时钟的瞬间,并添加指定的持续时间

获得使用最佳可用系统时钟返回当前时刻的时钟。

获得使用最佳可用系统时钟返回当前时刻的时钟,使用默认时区转换为日期和时间。

获得使用最佳可用系统时钟返回当前时刻的时钟,使用UTC时区转换为日期和时间。

获得一个时钟,该时钟将指定时钟的瞬间返回到指定持续时间的最近出现位置。

获得一个时钟,使用最佳可用系统时钟以整数毫秒返回当前时刻。

获得一个时钟,使用最佳可用系统时钟在整个分钟内返回当前时刻。

获得一个时钟,使用最佳可用系统时钟返回当前瞬间滴答作用。

返回具有不同时区的此时钟的副本。

子类可访问的构造函数。

获得使用最佳可用系统时钟返回当前时刻的时钟,使用UTC时区转换为日期和时间。

当您需要当前时刻而没有日期或时间时,应使用此时钟而不是systemDefaultZone() 。

该时钟基于最佳可用系统时钟。

从即日转换为日期或时间使用UTC time-zone 。

返回的实现是不可变的,线程安全的和Serializable 。 它相当于system(ZoneOffset.UTC) 。

获得使用最佳可用系统时钟返回当前时刻的时钟,使用默认时区转换为日期和时间。

该时钟基于最佳可用系统时钟。

使用此方法硬编码依赖于应用程序的默认时区。 建议尽量避免这种情况并使用特定的时区。 当您需要当前时刻而没有日期或时间时,应使用UTC clock 。

返回的实现是不可变的,线程安全的和Serializable 。 它相当于system(ZoneId.systemDefault()) 。

获得使用最佳可用系统时钟返回当前时刻的时钟。

该时钟基于最佳可用系统时钟。

从即时到日期或时间的转换使用指定的时区。

返回的实现是不可变的,线程安全的和Serializable 。

获得一个时钟,使用最佳可用系统时钟以整数毫秒返回当前时刻。

此时钟将始终具有截断到毫秒的纳秒级字段。 这确保了可见时间以整数毫秒为单位。 基础时钟是最佳可用系统时钟,相当于使用system(ZoneId) 。

出于性能原因,实现可能会使用缓存策略。 因此,通过该时钟观察到的毫秒开始可能晚于通过基础时钟直接观察到的毫秒。

返回的实现是不可变的,线程安全的和Serializable 。 它相当于tick(system(zone), Duration.ofMillis(1)) 。

获得一个时钟,使用最佳可用系统时钟返回当前瞬间滴答作用。

此时钟始终将纳秒级字段设置为零。 这可确保可见时间在整秒内完成。 基础时钟是最佳可用系统时钟,相当于使用system(ZoneId) 。

出于性能原因,实现可能会使用缓存策略。 因此,通过该时钟观察到的第二个开始可能晚于通过底层时钟直接观察到的开始。

返回的实现是不可变的,线程安全的和Serializable 。 它相当于tick(system(zone), Duration.ofSeconds(1)) 。

获得一个时钟,使用最佳可用系统时钟在整个分钟内返回当前时刻。

此时钟将始终将纳秒级和秒级字段设置为零。 这可确保可见时间在整个分钟内完成。 基础时钟是最佳可用系统时钟,相当于使用system(ZoneId) 。

出于性能原因,实现可能会使用缓存策略。 因此,通过该时钟观察到的分钟开始可能晚于通过基础时钟直接观察到的开始。

返回的实现是不可变的,线程安全的和Serializable 。 它相当于tick(system(zone), Duration.ofMinutes(1)) 。

获得一个时钟,该时钟将指定时钟的瞬间返回到指定持续时间的最近出现位置。

此时钟仅按指定的持续时间进行计时。 因此,如果持续时间是半秒,则时钟将返回瞬间截断到半秒。

滴答持续时间必须为正。 如果它的部分小于整个毫秒,则整个持续时间必须分成一秒而不留下余数。 所有正常的滴答持续时间将符合这些标准,包括小时,分钟,秒和毫秒的任何倍数,以及合理的纳秒持续时间,例如20ns,250,000ns和500,000ns。

零或一纳秒的持续时间将没有截断效应。 传递其中一个将返回基础时钟。

出于性能原因,实现可能会使用缓存策略。 因此,通过该时钟观察到的所请求持续时间的开始可能晚于通过基础时钟直接观察到的持续时间的开始。

返回的实现是不可变的,线程安全的, Serializable提供了基本时钟的Serializable 。

获得一个始终返回同一时刻的时钟。

此时钟只返回指定的时刻。 因此,它不是传统意义上的时钟。 其主要用途是测试,其中固定时钟确保测试不依赖于当前时钟。

返回的实现是不可变的,线程安全的和Serializable 。

获得一个时钟,该时钟返回指定时钟的瞬间,并添加指定的持续时间

这个时钟包装另一个时钟,返回稍后指定持续时间的瞬间。 如果持续时间为负,则时刻将早于当前日期和时间。 这个的主要用例是模拟将来或过去的运行。

持续时间为零将没有抵消效应。 传递零将返回基础时钟。

返回的实现是不可变的,线程安全的, Serializable提供基本时钟的Serializable 。

获取用于创建日期和时间的时区。

时钟通常会获得当前时刻,然后使用时区将其转换为日期或时间。 此方法返回使用的时区。

返回具有不同时区的此时钟的副本。

时钟通常会获得当前时刻,然后使用时区将其转换为日期或时间。 此方法返回具有类似属性但使用不同时区的时钟。

获取时钟的当前毫秒时刻。

这将返回从1970-01-01T00:00Z(UTC)开始测量的基于毫秒的瞬间。

大多数应用程序应该避免使用此方法,并使用Instant来表示时间线上的瞬间而不是原始毫秒值。 提供该方法是为了允许在高性能用例中使用时钟,其中对象的创建是不可接受的。

默认实现当前调用instant() 。

获取时钟的当前瞬间。

这将返回表示时钟定义的当前时刻的瞬间。

检查此时钟是否等于另一个时钟。

此时钟的哈希码。

构造方法

变量

构造器

描述

protected

子类可访问的构造函数。变量和类型

方法

描述

boolean

检查此时钟是否等于另一个时钟。

static Clock

Instant fixedInstant, ZoneId zone)

获得一个始终返回同一时刻的时钟。

abstract ZoneId

获取用于创建日期和时间的时区。

int

此时钟的哈希码。

abstract Instant

获取时钟的当前瞬间。

long

获取时钟的当前毫秒时刻。

static Clock

Clock baseClock, Duration offsetDuration)

获得一个时钟,该时钟返回指定时钟的瞬间,并添加指定的持续时间

static Clock

获得使用最佳可用系统时钟返回当前时刻的时钟。

static Clock

获得使用最佳可用系统时钟返回当前时刻的时钟,使用默认时区转换为日期和时间。

static Clock

获得使用最佳可用系统时钟返回当前时刻的时钟,使用UTC时区转换为日期和时间。

static Clock

Clock baseClock, Duration tickDuration)

获得一个时钟,该时钟将指定时钟的瞬间返回到指定持续时间的最近出现位置。

static Clock

获得一个时钟,使用最佳可用系统时钟以整数毫秒返回当前时刻。

static Clock

获得一个时钟,使用最佳可用系统时钟在整个分钟内返回当前时刻。

static Clock

获得一个时钟,使用最佳可用系统时钟返回当前瞬间滴答作用。

abstract Clock

返回具有不同时区的此时钟的副本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值