2013-05-04 44 views
0

我正在嘗試查找過去24小時或7天內在Oracle 11g數據庫中更新的記錄,或者30天。我能夠獲得使用「java.util.Calendar中的」所需的功能如何從今日使用Joda-Time API獲取最近24小時或7天的記錄

Date today = new Date(); 

Calendar cal = new GregorianCalendar(); 
cal.setTime(today); 
//For last 7 days 
cal.add(Calendar.DAY_OF_MONTH, -7); 

但我不知道是否有人已經做到了這一點與Joda-Time API?

回答

3

您需要定義剛好「過去24小時」和「過去7天」的含義。你真的真的是是指過去24小時,還是「自昨天當地時間相同」?由於夏令時過渡,後者可能意味着23小時或25小時。

如果你真的想要的是24小時,正好爲7 * 24小時的,我會用Instant

Instant now = new Instant(); 
Instant nowMinus24Hours = now.plus(Durations.standardHours(-24)); 
Instant nowMinus7Days = now.plus(Durations.standardDays(-7)); 

注意Instant沒有一個時區或日曆的概念 - 它只是一指向時間線;這是一種適用於時間戳等的適當數據類型。

相關問題