2012-09-09 109 views
1

我剛開始查看JODA庫,並且想要獲取當前時間並查看它是否落在DB中的時間戳記的3天內。使用DateTime將當前日期與另一日期進行比較

我在看他們的API的例子:

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

我以一個字符串從數據庫中創建一個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

您可以不從字符串解析Joda日期,檢查無SimpleDateFormatPeriod

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

改爲isAfterNow()和它的工作100%。感謝這些信息,非常感謝。 – user82302124

相關問題