📅  最后修改于: 2023-12-03 14:42:49.250000             🧑  作者: Mango
LocalTime类是Java8中的时间API,它提供了一个now方法,可以获取当前时间对象。除此之外,now方法还可以传入一个Clock对象作为参数。
javadoc文档中对now方法的说明:now
返回在指定时钟上的当前时间。这时钟可以是系统时钟,也可以是自定义时钟(例如在单元测试中使用)。
Clock类是Java8中的一个抽象类,它提供了一个抽象方法:instant(),该方法返回当前时间的时间戳。Clock类有多个实现类,其中SystemClock是系统时钟,也是默认的时钟实现类。
下面是一个使用now方法获取当前时间的示例:
import java.time.LocalTime;
public class Example {
public static void main(String[] args) {
LocalTime time = LocalTime.now();
System.out.println("当前时间为:" + time);
}
}
运行结果如下:
当前时间为:19:25:57.837
下面是一个使用now方法和自定义时钟获取当前时间的示例:
import java.time.Clock;
import java.time.LocalTime;
public class Example {
public static void main(String[] args) {
Clock clock = Clock.systemUTC();
LocalTime time = LocalTime.now(clock);
System.out.println("当前时间为:" + time);
}
}
运行结果如下:
当前时间为:11:27:53.749
在这个示例中,我们使用了系统的UTC时钟来获取当前时间对象。
注意:在使用自定义时钟时,要确保时钟的时区与本地时区一致,否则获取的时间可能会有所偏差。
LocalTime类的now方法可以方便地获取当前时间对象。通过传入不同的Clock对象,我们可以使用不同的时钟来获取时间,这在一些场景下很有用,例如单元测试中需要模拟时间的情况。需要注意的是,自定义时钟要与本地时区一致。