java - 计算两个 JDateChooser 值之间的差异

标签 java netbeans jdatechooser

这是我的代码,但这不起作用。

    Start.getDate();
    End.getDate();
    int diffInDays = (int)( (Start.getDate() - End.getDate()) / (1000 * 60 * 60 * 24));
    System.out.println(diffInDays);

那么我怎样才能制作一个程序,让用户可以查看 2 个 JDateChooser 之间的区别。

最佳答案

日期/时间计算是一个复杂的主题,通常最好使用专用库来解决。

Java 8

Instant start = Start.getDate().toInstance();
Instant end = End.getDate().getInstance();

Duration duration = Duration.between(start, end);

乔达时间

如果您不能使用 Java 8,那么您应该使用 Joda-Time相反

DateTime start = new DateTime(Start.geDate().getTime());
DateTime end = new DateTime(End.geDate().getTime());

// You might need to use end, start instead, depending on which
// is later
Duration duration = new Duration(start, end);
Period period = duration.toPeriod();

你可以看看这个answer看看如何格式化值

关于java - 计算两个 JDateChooser 值之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29688751/

相关文章:

java - 设置 JTable 单元格格式

java - 如何将日期设置为从数据库检索的 jDateChooser ?

java - 一次性将List<String[]>下的元素转为大写

java - 比较方法违反了它的一般契约(数组列表比较)

java - 如何在 NetBeans SWING 内的循环中使用 Thread.sleep?

java - NetBeans 生成有错误的 JpaController

java - 如何正确读取 XML 文件中的节点值?

java - Eclipse Neon for Eclipse 提交者无法解析 org.eclipse

java - 需要一点帮助,隐藏/禁用 jbutton

java - 使用 ZoneId 从 jDateChooser 计算年龄不断返回 0