Java Clock类

Java Clock类用于通过时区提供对当前日期和时间的访问。它继承自Object类。

因为所有日期时间类都包含一个now()函数,该函数使用默认时区的系统时钟,所以不需要使用Clock类。Clock类的目的是允许您在需要时插入另一个时钟。应用程序使用对象而不是静态方法来获取当前时间。这简化了测试过程。需要当前时间点的方法可以将Clock作为参数。

Java Clock类声明

让我们来看一下java.time.Clock类的声明。

public abstract class Clock extends Object

Java Clock类的方法

方法描述
abstract ZoneId getZone()用于获取用于创建日期和时间的时区。
abstract Instant instant()用于获取时钟的当前时间点。
static Clock offset(Clock baseClock, Duration offsetDuration)用于获取一个时钟,该时钟返回指定时钟的时间点,并添加指定的持续时间。
static Clock systemDefaultZone()用于获取一个时钟,该时钟使用最佳可用系统时钟返回当前时间点,并使用默认时区转换为日期和时间。
static Clock systemUTC()用于获取一个时钟,该时钟使用最佳可用系统时钟返回当前时间点,并使用UTC时区转换为日期和时间。
boolean equals(Object obj)检查此时钟是否等于另一个时钟。
static Clock fixed(Instant fixedInstant, ZoneId zone)获取一个始终返回相同时间点的时钟。
static Clock system(ZoneId zone)获取一个使用最佳可用系统时钟返回当前时间点的时钟。
int hashCode()获取用于创建日期和时间的时区。
long millis()获取时钟的当前毫秒时间点。
static Clock tick(Clock baseClock, Duration tickDuration)获取一个时钟,该时钟返回指定时钟的时间点,并截断到指定持续时间的最近发生时间点。
static Clock tickMinutes(ZoneId zone)获取一个时钟,该时钟使用最佳可用系统时钟以整分钟为单位返回当前时间点。
static Clock tickSeconds(ZoneId zone)获取一个时钟,该时钟使用最佳可用系统时钟以整秒为单位返回当前时间点。
static Clock withZone(ZoneId zone)返回具有不同时区的时钟的副本。

Java Clock类示例:getZone()

ClockExample1.java

import java.time.Clock;  
public class ClockExample1 {  
  public static void main(String[] args) {  
    Clock c = Clock.systemDefaultZone();      
    System.out.println(c.getZone());  
  }  
}  

输出:

Asia/Calcutta

Java Clock类示例:instant()

ClockExample2.java

import java.time.Clock;  
public class ClockExample2 {  
  public static void main(String[] args) {  
    Clock c = Clock.systemUTC();  
    System.out.println(c.instant());  
  }  
}  

输出:

2017-01-14T07:11:07.748Z

Java Clock类示例:systemUTC()

ClockExample3.java

import java.time.Clock;  
public class ClockExample3 {  
  public static void main(String[] args) {  
    Clock c = Clock.systemUTC();  
    System.out.println(c.instant());  
  }  
}  

输出:

2017-01-14T07:11:07.748Z

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想