본문 바로가기

소프트웨어/Android/Java/Ndk

자바] Date클래스를 이용한 날짜 비교( yyyyMMddHHmmss)

자바] Date클래스를 이용한 날짜 비교( yyyyMMddHHmmss)

 

 

하...

 

열심히 코딩중이었다.

타임서버에서 받아온 "2013010203040506"(년~초) 날짜스트링을 처리해야 하는 일이 생겼다.

그래서 for문을 돌리며 .charAt()으로 일일히 분리해가며 년월일을 얻어나갔다.

 

그러던중 gw형이 Date클래스 쓰면 될텐데? 라는 말을 던져주셔서...찾아보니...흐아...난뭘하던거지 ㅋㅋ...

 

 

// StartTime은 타임서버로부터 받은 스트링값 

//////데이터포멧으로 파싱/////////////
  SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
  Date StartDate =null;
  try {
   StartDate = sdf.parse(StartTime);
  } catch (ParseException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
  
  for(int i=0;i<arrlist.size();i++){
   
   try {
    Date sourceDate= sdf.parse(arrlist.get(i).StartTime);
    
    //Log.d("mstag","dataClass "+sourceDate.compareTo(StartDate));
    if(sourceDate.compareTo(StartDate)!=-1){ //날짜가 같거나 큰 경우만
     bigArr.add(arrlist.get(i));
    }
   } catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
 
  }
  /////////////////////////////////////

 

이런식으로 simpledateformat을 이용해 date클래스를 생성하고

.compareTo() 매서드를 사용하면 매우 쉽게..간단하게 값이 나오는것이 아닌가...ㅋㅋ..

 

날짜가 현재보다 과거면 -1 , 현재면 0, 미래면 1

 

흐아...