selfstarter

일주일전 날짜와 날짜 비교하기 본문

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());
        }
    }
}
Comments