使用DateTime将当前日期与另一个日期进行比较

时间:2012-09-09 02:19:46

标签: java datetime jodatime

我刚刚开始查看JODA库,我想查看当前时间,看看它是否在数据库中的时间戳的3天内。

我正在查看他们的API示例:

public boolean isRentalOverdue(DateTime datetimeRented) {
  Period rentalPeriod = new Period().withDays(2).withHours(12);
  return datetimeRented.plus(rentalPeriod).isBeforeNow();
}

我从数据库中获取一个String来创建一个Date对象:

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = (Date)formatter.parse(startDate);

如何查看代码中的Date对象是否在当前时间的3天内?:

Period threeDays = new Period().withDays(3);
boolean withinThreeDays = date.plus(threeDays).isBeforeNow();

1 个答案:

答案 0 :(得分:1)

您无法解析字符串中的Joda日期,并且在没有SimpleDateFormatPeriod的情况下进行检查

DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");  
DateTime dateTime = dtf.parseDateTime(startDate);  
boolean withinThreeDays = dateTime.plusDays(3).isBeforeNow();