相关疑难解决方法(0)

使用Joda时间比较两个日期

我想比较两个日期,但是我遇到了麻烦.1日期是从java.util.date对象创建的,另一个是手动制作的.以下代码是一个示例:

Date ds = new Date();
DateTime d = new DateTime(ds);

DateTime e = new DateTime(2012,12,07, 0, 0);
System.out.println(d.isEqual(e));
Run Code Online (Sandbox Code Playgroud)

然而,测试结果证明了false.我猜这是因为时间.如何检查这两个日期是否相等(我的意思是年,月,日相同)?

java time date jodatime

33
推荐指数
3
解决办法
6万
查看次数

两个Joda LocalDateTimes的差异

我有2个Joda LocalDateTime对象,需要生成一个表示它们之间差异的第3个:

LocalDateTime start = getStartLocalDateTime();
LocalDateTime end = getEndLocalDateTime();

LocalDateTime diff = ???
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一方法是精心遍历每个日期/时间字段并执行其各自的minus操作:

LocalDateTime diff = end;

diff.minusYears(start.getYear());
diff.minusMonths(start.getMonthOfYear());
diff.minusDays(start.getDayOfMonth());
diff.minusHours(start.getHourOfDay());
diff.minusMinutes(start.getMinuteOfHour());
diff.minusSeconds(start.getSecondsOfMinute());
Run Code Online (Sandbox Code Playgroud)

最终的结果将仅仅是调用difftoString()方法,并得到一些有意义的事.例如,如果start.toString()生产2012/02/08T15:05:00,并end.toString()生成2012/02/08T16:00:00,那么diff.toString()差异(55分钟)可能看起来像2012/02/08T00:55:00.

而且,如果这是一个可怕的滥用LocalDateTime,那么我只需要知道如何消除两者之间的时差,并将这种差异变成易于阅读(人性化)的格式.

提前致谢!

java jodatime

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×2

jodatime ×2

date ×1

time ×1