2013-10-14 131 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}