如何在Maven中使用Joda-Time?

时间:2015-12-11 11:13:55

标签: java maven jodatime

我似乎是一个非常愚蠢的问题,因为Joda-Time易于使用,没有关于如何在其用户指南中使用它的解释(我在网上找不到有用的答案)

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

我不能使用LocalDateTime,因为该类不存在(所以我创建了它),但是我看到“duration”需要在类中实现ReadableDuration,但是这个接口也不存在。 ..

我试着写:

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>

你能解释一下新手该怎么办吗?

2 个答案:

答案 0 :(得分:6)

java.time

时间api已在JDK 8中重新编写,类似于Joda-Time(我认为Joda-Time是一些JSR的实现)。

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

  

Joda-Time是Java事实上的标准日期和时间库。   从Java SE 8开始,用户被要求迁移到java.time   (JSR-310)。

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

之后只需遵循官方的oracle教程:

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

GLHF

答案 1 :(得分:3)

您是否在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

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

您应该可以在类声明上方的代码中执行以下操作:

import org.joda.time.LocalDateTime;

然后你就可以使用它了。

修改 作为对上述信息的补充,我可以看到你接受了建议你应该切换到Java 8的答案。虽然在这种情况下,这可能有用,但是如果你需要其他不可用的包(依赖项)怎么办?升级到更高版本的Java版本?

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