如何在 Maven 中使用 Joda-Time?

How to use Joda-Time with Maven?

我觉得这是一个很愚蠢的问题,因为 Joda-Time 很容易使用,在它的用户指南中没有关于如何使用它的解释(而且我在网页)。

我尝试使用Joda-Time的方法来计算两个日期之间的时长。我必须将当前日期与其他日期进行比较。

我不能使用 LocalDateTime 因为 class 不存在(所以我创建了它),但是我看到 "duration" 需要在 class但是这个接口也不存在...

我试着写:

DateTime dt = new DateTime(juDate);

public class LocalDateTime implements ReadableDuration{

    public LocalDateTime() {
    }
}

我已经通过依赖 Maven 安装了 Joda-Time,我有 2.9.1 版本。

<dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.9.1</version>
</dependency>

你能向新手解释一下怎么做吗?

您是否在 pom.xml 文件中完成了以下操作? :

<dependency>
  <groupId>joda-time</groupId>
  <artifactId>joda-time</artifactId>
  <version>2.9.1</version>
</dependency>

然后,在添加该条目后,您必须从 IDE 或命令行执行 mvn clean install。然后它应该可以在您的项目中作为导入使用。如果您使用的是其他构建系统,我想参考以下页面:http://www.joda.org/joda-time/dependency-info.html.

不要自己创建 classes,这表明项目不是通过您的构建系统导入的。

您应该能够在 class 声明上方的代码中执行以下操作:

import org.joda.time.LocalDateTime;

那你就可以用了

编辑: 作为上述信息的补充,我可以看到您接受了建议您应该切换到 Java 8 的答案。虽然在这种情况下,这可能有效,但是如果您需要其他包(依赖项)怎么办?无法通过升级到更高的 Java 版本获得?

我建议您阅读 Maven 和 Gradle 等构建系统。这些主要用于 Java 项目。只是玩弄它可以提供见解。

java.time

时间 api 已在 JDK 8 中重新设计,与 Joda-Time 非常相似(我认为 Joda-Time 是某些 JSR 的实现)。

引用 http://www.joda.org/joda-time/

Joda-Time is the de facto standard date and time library for Java. From Java SE 8 onwards, users are asked to migrate to java.time (JSR-310).

所以只需创建一个 JDK 8 项目,您的 LocalDate 和 LocalTime 类 应该可以在包 java.time

中使用

之后就跟着官方的oracle教程:

http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html

GLHF