Java 如何在指定日期之前和之后将日期添加到ArrayList中
我被这个问题难住了。是否可以将指定日期之前的日期添加到arraylist中?试图找到答案是不走运的 我打算这样做Java 如何在指定日期之前和之后将日期添加到ArrayList中,java,android,date,arraylist,Java,Android,Date,Arraylist,我被这个问题难住了。是否可以将指定日期之前的日期添加到arraylist中?试图找到答案是不走运的 我打算这样做 try { String format = min; String format2 = format.substring(0,7); String format3 = format.substring(7,format.length()); String finalFormat =format2+"20"+format3; String fin
try {
String format = min;
String format2 = format.substring(0,7);
String format3 = format.substring(7,format.length());
String finalFormat =format2+"20"+format3;
String finalFormatPart1 = finalFormat.substring(0, 2);
String finalFormatPart2 = finalFormat.substring(3, 6);
String finalFormatPart3 = finalFormat.substring(7, finalFormat.length());
String finalFormatcomplete =finalFormatPart1+" "+finalFormatPart2+" "+finalFormatPart3;
minDate = new SimpleDateFormat("dd MMM yyyy").parse(finalFormatcomplete);
Log.i("minDateTime", minDate.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Date rightNow = Calendar.getInstance().getTime();
for(int i=1; i != 31; i++) {
Calendar calendar = Calendar.getInstance();
calendar.add(rightNow, -i);
beforeMin.add(dateToAdd);
}
但是,calendar.add()只接受int,int。有没有办法将我指定的日期之前的日期添加到arraylist中?您可以通过以下方式获取以前的日期:
calender.add(Calendar.DATE, -1);
因此,请将代码更改为:
Calendar rightNow = Calendar.getInstance();
for (int i = 1; i <= 31; i++) {
rightNow.add(Calendar.DATE, -i);
Date dateToAdd = rightNow.getTime();
beforeMin.add(dateToAdd);
}
Calendar rightNow=Calendar.getInstance();
对于(inti=1;i添加元素并对其排序
添加一个比较器:
Collections.sort(myList, new Comparator<MyObject>() {
public int compare(MyObject obj1, MyObject obj2) {
return obj1.getDateTime().compareTo(obj2.getDateTime());
}
});
按以下方式更改代码:
Calendar calendar = Calendar.getInstance();
for(int i=1; i < 31; i++)
{
calendar.add(Calendar.DATE, -1);
beforeMin.add(calendar.getTime());
}
Calendar Calendar=Calendar.getInstance();
对于(int i=1;i<31;i++)
{
calendar.add(calendar.DATE,-1);
beforeMin.add(calendar.getTime());
}
只需使用日期比较,如下所示
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.after(date2)){
System.out.println("Date1 is after Date2");
}
if(date1.before(date2)){
System.out.println("Date1 is before Date2");
}
if(date1.equals(date2)){
System.out.println("Date1 is equal Date2");
}
希望这个答案对你的朋友有所帮助:)你在这里得到了什么<代码>日历.添加(立即,-i)
也许这会有帮助:您要在列表中添加的日期是多少
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.after(date2)){
System.out.println("Date1 is after Date2");
}
if(date1.before(date2)){
System.out.println("Date1 is before Date2");
}
if(date1.equals(date2)){
System.out.println("Date1 is equal Date2");
}