java - getTime()(Date 中的一个方法)在 joda.time.LocalDate 中的等效项是什么?

标签 java datetime date jodatime

我正在做一个简单的计算来获得两个日期之间的差异。如果我使用 Date 类,我可以这样做:

Date d1 = new GregorianCalendar(2000, 11, 31, 23, 59).getTime();

    /** Today's date */
    Date today = new Date();

    // Get msec from each, and subtract.
    long diff = today.getTime() - d1.getTime();

    System.out.println("The 21st century (up to " + today + ") is "
        + (diff / (1000 * 60 * 60 * 24)) + " days old.");
  }

但是我在本地日期中找不到像 getTime() 这样的方法。有什么方法可以让我轻松实现我想要实现的目标吗?

我什至尝试将 LocalDate 对象更改为临时日期对象,如下所示:

 LocalDate date=new LocalDate();
    Date d=date.toDate();

但是方法 toDate() 不起作用。即它说它不是可识别的方法。(因此编译时错误)但从我可以看到它在文档中

感谢您抽出宝贵时间,当然感恩节快乐。

最佳答案

Days.daysBetween()就是答案。

LocalDate now = new LocalDate();
LocalDate past = now.minusDays(300);
int days = Days.daysBetween(past,now).getDays();

永远不要将 LocalDate 转换为 Java Date(两种完全不同的野兽),如果您只是处理日期。 Jodatime Localdate 是一个真正的“日历日期”,即 {day,month,year} 的元组(连同公历规范),与“物理时间”(秒、小时等)无关。如果您需要进行日期算术,请坚持使用 Localdate,您将永远不需要担心使用 java Dates 进行日期算术时可能出现的愚蠢错误(时区、DST 等)。

关于java - getTime()(Date 中的一个方法)在 joda.time.LocalDate 中的等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233900/

相关文章:

php - 通过 PHP 将 Android 日期时间转换为 MySQL 日期时间

Javascript 显示/计算过去 3 个月

java - 将变量标记为 volatile 是否会使其线程安全?

java - 设置 Swing 程序的默认字体

java - 在一定时间后更改变量

java - Toast 消息不显示

mysql - mysql datetime 中 utc 时间的表示不正确

database - 时间依赖,如何?

javascript - 在javascript中获取上个月/上个月的最后一天

java - 无法从 Bootstrap 日期选择器获取日期