如何获取自当年 1 月 1 日开始以来的小时数?

fel*_*car 4 java algorithm datetime date jodatime

我怎样才能在 Java 中获得自当年 1 月 1 日开始以来的小时数?IE。1 月 1 日的第一个小时 = 0001 我可以使用 JodaTime 或任何其他库来完成此操作吗?谢谢,

Sha*_*her 5

Using the java.time package built into Java 8 and later (Tutorial):

ChronoUnit.HOURS.between(
  LocalDateTime.of(LocalDateTime.now().getYear(), 1, 1, 0, 0), 
  LocalDateTime.now())
Run Code Online (Sandbox Code Playgroud)

I think this is self-explenatory


gri*_*Flo 5

Use the Java 8 API for date/time

    LocalDateTime hournow = LocalDateTime.now();
    LocalDateTime startOfYear = LocalDateTime.of(hournow.getYear(), 1, 1, 0, 0);
    long hoursBetween = ChronoUnit.HOURS.between(startOfYear, hournow);
    System.out.println("hours between: " + hoursBetween);
Run Code Online (Sandbox Code Playgroud)