📜  Java中的 LocalTime now(clock) 方法和示例(1)

📅  最后修改于: 2023-12-03 14:42:49.250000             🧑  作者: Mango

Java中的 LocalTime now(clock) 方法和示例

介绍

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对象,我们可以使用不同的时钟来获取时间,这在一些场景下很有用,例如单元测试中需要模拟时间的情况。需要注意的是,自定义时钟要与本地时区一致。