Server/Java
일주일전 날짜와 날짜 비교하기
selfstarter
2020. 2. 24. 15:22
일주일전 날짜와 날짜 비교하기
- String을 SimpleDateFormat format으로 Date 형으로 변환
- 일주일전 날짜는 Calendar로 구함
- 일주일전 날짜.compareTo(비교날짜)를 사용하여 일주일전 날짜 보다 날짜가 작을 시(compareTo 결과 양수) List에서 삭제
- 삭제는 for문 돌리면서 remove로 삭제 시 에러가 난다. iterator 사용
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
ArrayList<Date> dateList = new ArrayList<Date>();
Date date1 = null;
Calendar cal1 = java.util.Calendar.getInstance();
cal1.add(cal1.DATE, -3);
date1 = cal1.getTime();
Date date2 = null;
Calendar cal2 = java.util.Calendar.getInstance();
cal2.add(cal2.DATE, -6);
date2 = cal2.getTime();
Date date3 = null;
Calendar cal3 = java.util.Calendar.getInstance();
cal3.add(cal3.DATE, -7);// 일주일 빼기
date3 = cal3.getTime();
Date date4 = null;
Calendar cal4 = java.util.Calendar.getInstance();
cal4.add(cal4.DATE, -10);// 일주일 빼기
date4 = cal4.getTime();
System.out.println("data1:"+date1.toString());
System.out.println("data2:"+date2.toString());
System.out.println("data3:"+date3.toString());
System.out.println("data4:"+date4.toString());
dateList.add(date1);
dateList.add(date2);
dateList.add(date3);
dateList.add(date4);
// 일주일 전 date
Date nowDate;
Calendar cal = java.util.Calendar.getInstance();
cal.add(cal.DATE, -7);// 일주일 빼기
nowDate = cal.getTime();
// 현재 시간을 구한 뒤 일주일 지난건 제외시키자
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date parseDate = null;
for (Iterator<Date> iter = dateList.iterator(); iter.hasNext();) {
Date post = iter.next();
if (post == null) {
System.out.println("post가 null");
}
System.out.println("post:"+post.toString());
if (nowDate == null) {
System.out.println("post가 null");
}
if (nowDate.compareTo(post) >= 0) {
System.out.println("삭제:"+post.toString());
iter.remove();
}
}
for (Date post : dateList) {
System.out.println(post.toString());
}
}
}