2013-10-14 171 views
-1

我正在做的程序的目的是檢查日期,如果日期已過,它應該顯示下一個日期。檢查變量,得到下一個變量,檢查變量等

例如,今天的日期是14/10/2013。下一集「我如何認識你的母親」是今天的,之後的一集是11/11/2013。

我想編程顯示2013年10月14日的日期,但明天它應該顯示11/11/2013。以下是我有:

public class CheckSeries { 
    public static void main (String[] args){ 
     SimpleDateFormat d = new SimpleDateFormat("dd/MM/yyyy"); 
     Date today = new Date(); 
     System.out.println(d.format(today)); 

     try {  // Here is where I add the times. I know it's not the most productive way, but one step at a time 
      Date d0 = d.parse("14/10/2013"); 
      Date d1 = d.parse("11/11/2013"); 
      Date etc = d.parse("etc/etc/etc"); 

    } 
} 

所以,我需要它來檢查D0,如果是今天之前它應檢查D1,D2再等等等等,但如果說,D1是當今後應該在一個JFrame中顯示d1(我知道該怎麼做,以後再添加Jframe),但我不知道該怎麼做。 (我認爲)。

+0

的類似的問題:有一個看看這個:http://stackoverflow.com/questions/2592501/compare-dates-in-java – Dezigo

+0

@Zahand您可以將所有'dx'(d0,d1 ..)變量保留在列表中,並遍歷每個調用today.compareTo(dx)的函數,第一個給出-1或0的dx是正確的下一個系列日。 –

+0

不要超越自己,但應該從外部文件加載日期,解析它們,然後將它們添加到列表中,並在適當時從列表中刪除項目。 – Troubleshoot

回答

0

爲什麼不循環與當前日期比較的日期。 如果將來使用myDate,則可以使用myDate.after(now)來確定。

Date now = new Date() //current timestamp

和循環:

for (Date d : Arrays.asList(d0, d1, etc)) { //comparing here}