我有LinkedList
<{1}}
Date
LinkedList<Date> dateList = new LinkedList<Date>();`
try
{
a= sdf.parse("21/03/2000");
b= sdf.parse("21/03/2006");
c= sdf.parse("18/09/2008");
}catch(ParseException pe)
{
System.out.println("not a date formate");
}
dateList.add(a);
dateList.add(b);
dateList.add(c);
如果用户输入日期即12/05/2002,那么用户应该提示输入的日期在21/03/2000
和21/03/2006
之间,并且它应该给出答案“给定日期在21/03/2000
“之后。
我尝试了排序。但没有奏效。新Date
课程。
答案 0 :(得分:3)
Date minDate, maxDate; // assume these are set to something
Date date; // the date in question
return date.after(minDate) && d.before(maxDate);
你可以做这样的事情
Date a = new Date("21/03/2000");
Date b = new Date("21/03/2006");
Date c = new Date("18/09/2008");
List<Date> dateList = new ArrayList<Date>();
Date date = new Date("18/09/2005");
dateList.add(a);
dateList.add(b);
dateList.add(c);
for (Date minDate : dateList) {
for (Date maxDate : dateList) {
//System.out.println(" After "+date.after(minDate));
//System.out.println(" Before "+date.before(maxDate));
System.out.println(" Date " + date + " is After "+ minDate+ " and Before "+ maxDate + " : "+ String.valueOf(date.after(minDate) && date.before(maxDate)) );
}
}
答案 1 :(得分:1)
尝试使用Joda-Time而不是直接使用java.util.Date。 Joda-time是用于在Java中使用日期进行播放的一级API。它提供了许多实用方法,您可以直接使用它们,而不是一次又一次地重写相同的东西。 如果您使用的是maven,只需添加其依赖项并下载即可。
此致
Bipul Sinha
答案 2 :(得分:0)
一个简单的日期比较程序取自
http://www.mkyong.com/java/how-to-compare-dates-in-java/
我希望你能够在此基础上建立你的逻辑。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class App
{
public static void main( String[] args )
{
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");
System.out.println(sdf.format(date1));
System.out.println(sdf.format(date2));
if(date1.compareTo(date2)>0){
System.out.println("Date1 is after Date2");
}else if(date1.compareTo(date2)<0){
System.out.println("Date1 is before Date2");
}else if(date1.compareTo(date2)==0){
System.out.println("Date1 is equal to Date2");
}else{
System.out.println("How to get here?");
}
}catch(ParseException ex){
ex.printStackTrace();
}
}
}