java - 我如何同时使用 org.joda.time.LocalDate 和 java.time.LocalDate;

标签 java javafx jodatime

这个问题在这里已经有了答案:





Importing two classes with same name. How to handle?

(11 个回答)


7年前关闭。




我正在练习如何处理日期。但是当我想使用 javafx datepicker 时我被卡住了。因为它只适用于 java.time.LocalDate 我正在尝试这样的事情。

    // here i import java.time.LocalDate to get the date from the datepicker;

    LocalDate dueDate = datepickerInvoiceDueDate.getValue();  
    int year = dueDate.getYear();
    int month = dueDate.getMonthValue();
    int day = dueDate.getDayOfMonth();

    //but here i want to import org.joda.time.LocalDate;

    LocalDate dueDatejt = new LocalDate(year, month, day);

有解决方法吗?
是否可以将 Localdate(joda 时间)存储在 mysql 数据库中?

我找到了一个临时解决方案,但我认为这不是正确的方法?
    java.time.LocalDate dueDate = datepickerInvoiceDueDate.getValue();  
    int year = dueDate.getYear();

    int month = dueDate.getMonthValue();
    int day = dueDate.getDayOfMonth();
    //import org.joda.time.LocalDate;
    LocalDate dueDatejt = new LocalDate(year, month, day);

最佳答案

这两个库的作者都写在 Joda-Time-website :

Note that Joda-Time is considered to be a largely “finished” project. No major enhancements are planned. If using Java SE 8, please migrate to java.time (JSR-310).



所以很明显,您应该使用解决方法来完全限定 Joda-Time 的类名,仅作为临时解决方案。相反,其意图和官方建议是在 Java-8 平台上迁移。

虽然通常没有 1:1 迁移(需要付出一些努力!),但 Joda-Time 将不再处于实际开发中(放弃许多新功能,只是修复错误)这一事实是迁移的有力论据。另一个支持迁移的有力论据是 Joda-Time 与 Java-8 的互操作性缺失。作者有最初的计划来支持像 TemporalAccessor 这样的低级接口(interface)。但放弃了它(可能是由于缺乏资源)。这个概念是什么意思?互操作性的具体示例(撇开编写完全限定类名的令人讨厌的事实):

TemporalAccessor -支持你可以写:
org.joda.time.LocalDate joda = new org.joda.time.LocalDate(year, month, day);
java.time.LocalDate date = java.time.LocalDate.from(joda);

但实际上你必须写:
org.joda.time.LocalDate joda = new org.joda.time.LocalDate(year, month, day);
java.time.LocalDate date = java.time.LocalDate.of(joda.getYear(), joda.getMonthOfYear(), joda.getDayOfMonth());

所以很明显,在你的应用程序中同时支持这两个库并不是一个好主意。

关于java - 我如何同时使用 org.joda.time.LocalDate 和 java.time.LocalDate;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30120488/

相关文章:

JavaFX 2 图像位置

javafx - 如何在javafx的TableView中为单元格设置值

java - 在 JavaFX 桌面应用程序中获取远程 IP 地址

Java 解决骑士之旅需要很长时间

java - 这段代码如何使用保留关键字作为字段名称?

java - 最终类上的 PowerMock UnfinishedStubbingException 错误

Java 日期差异、Joda 库和 DST

java - 如何使用 Hibernate Lucene 搜索对挪威语字符(Æ、Ø 和 Å)进行不区分大小写的排序?

java - 需要 Java 8 中的非预期公历年表(如 org.joda.time.chrono.GJChronology)

java - 无法使用荷兰日月年字符串初始化 Joda DateTime