从 LocalTime Java 获取所有毫秒

and*_*ats 2 java localtime milliseconds

我需要知道如何将 LocalTime 获取到毫秒

    LocalTime  lunchTime = LocalTime.parse("01:00:00",
            DateTimeFormatter.ISO_TIME);
Run Code Online (Sandbox Code Playgroud)

如果我要执行,我一小时lunchTime.getMinute()只会得到 0,而我只会得到 1。lunchTime.getHour()如何获取以毫秒为单位的值?

Ole*_*.V. 5

如果您想要一天中的毫秒数(换句话说,从 00:00 开始的毫秒数),有一个ChronoField枚举常量正好可以实现这一点:

    LocalTime lunchTime = LocalTime.parse("01:00:00");
    int millisecondOfDay = lunchTime.get(ChronoField.MILLI_OF_DAY);
    System.out.println("Lunch is at " + millisecondOfDay + " milliseconds of the day");
Run Code Online (Sandbox Code Playgroud)

输出:

午餐时间为一天中的 3600000 毫秒

(对于某些人来说,凌晨 1 点可能是一个有趣的午餐时间,但为了演示并使用您自己的示例。)

java.time 的日期和时间类通常有一个get接受TemporalField参数的方法。LocalTime这条规则也不例外。调用时最常见的事情get()是传递一个ChronoField常量。getXxx该方法非常通用,可以从未提供方法的日期时间对象中获取值。

文档链接: ChronoField.MILLI_OF_DAY