달력

1

« 2025/1 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2008. 10. 9. 16:14

java Date 관련 Quick reference Enjoy/JAVA2008. 10. 9. 16:14


* 오늘 날짜 구하기
 new Date();
 Calendar now = Calendar.getInstance();
 now.getTime();

* 어제 날짜 구하기
 Calendar now = Calendar.getInstance();
 now.add(Calendar.DAY_OF_MONTH, -1);
 now.getTime();

* 날짜 포맷을 원하는 형태로 바꾸기
   Calendar now = Calendar.getInstance();
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   sdf.format(now.getTime());  // 결과는 String

 

* 지 맘데로의 날짜를 담은 문자열을 다른 형태로 convert
 

    String dateStr = "200707211541122";
    SimpleDateFormat oldFormat = new SimpleDateFormat("yyyyMMddHHmmss");
    SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   
    try {
      System.out.println(newFormat.format(oldFormat.parse(dateStr)));
    } catch (ParseException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
 

* yyyy-MMM-dd 형태 parse 시 주의 할 점
   String regDt = "27/Jul/2006:00:00:00";
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MMM/dd:hh:mm:ss",
       Locale.US);

   try {
     System.out.println(sdf.parse(regDt).toString());
   } catch (ParseException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
   }

-> 위와 같이 Locale을 지정하지 않으면 한글 OS에서는 parse 오류가 난다.

* 특정날짜가 무슨 요일인지 알아보기
   String regDt1 = "2006-11-14";
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
 

   Calendar cal = Calendar.getInstance();
 

   try {
     cal.setTime(sdf.parse(regDt1));
     System.out.println(cal.get(Calendar.DAY_OF_WEEK));
   } catch (ParseException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
   }

주의: cal.DAY_OF_WEEK라고 하면 처음 생성했던 instance의 값을 리턴한다.

* 날짜 간의 비교
 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    Calendar now = Calendar.getInstance();
    now.add(Calendar.HOUR, -3);
    Date before3hour = now.getTime();
   
    try {
      if (before3hour.before(sdf.parse(regdttm))) {
        return true;
      } else {
        return false;
      }
    } catch (ParseException e) {
      return false;
    }

:
Posted by 라면스프