Java 현재시간, 날짜

Java 2009. 5. 25. 11:45
□ 현재 시간, 날짜 구하기
// 밀리초 (1000 = 1초)
long lTime = System.currentTimeMillis();
System.out.println(lTime.toString());

// 현재 시간
Data dDay = new Date();
System.out.println(dDay);

// 포맷을 지정해서 날짜 구하기
SimpleDateFormat sdf = new SimpleDateFormat("yyy.MM.dd HH:mm:ss", Locale.KOREA);
Date dTime = new Date();
String sTime = sdf.format(dTime);
System.out.println(sTime);



□ Date를 Calendar로
Date d = new Date();
Calendar c = Calendar.getInstance();
c.setTime(d);



□ 날짜를 n만큼 이동시키기
// case 1
Date d = new Date();
long lTime = d.getTime();
lTime = lTime + (24*60*60*1000) * n;

// case 2
// 오늘
Calendar cal = Calendar.getInstance();
// 2달 전
cal.add( cal.MONTH, -2 );
// 2일 전
cal.add( cal.DAY_OF_MONTH, -2 );
// 2년 후
cal.add( Calendar.YEAR, 2 );
// print
System.out.println( cal.get( cal.YEAR ) );
System.out.println( cal.get( cal.MONTH ) + 1 );
System.out.println( Calendar.DAY_OF_MONTH ) );



□ 해당하는 달의 마지막날 구하기
// case 1
GregorianCalendar today = new GregorianCalendar();
int endDay = today.getActualMaximum( ( today.DAY_OF_MONTH ) );
System.out.println( endDay ); 

// case 2
Calendar cal = Calendar.getInstance();
cal.set ( 2008, 0, 1 ); //월은 0부터 시작
int endDay = cal.getActualMaximum ( Calendar.DATE );
System.out.println(endDay);



□ 요일구하기
Calendar cal= Calendar.getInstance ( );
//day_of_week가 1이면 일요일, 2이면 월요일.... 7이면 토요일
int day_of_week = cal.get ( Calendar.DAY_OF_WEEK );



□ 날짜, 시간 유효성 검사
// case 1
try {
   DateFormat df = DateFormat.getDateInstance( DateFormat.SHORT );
   df.setLenient( false );
   Date dt2 = df.parse( dt );                       
} catch(ParseException e) {
} catch(IllegalArgumentException e) {
}

// case 2
String result = "";
dateValue = dateValue.replaceAll("-", "");
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMM", java.util.Locale.KOREA);

//일자, 시각해석을 엄밀하게 실시할지 설정함
//true일 경우는 엄밀하지 않는 해석, 디폴트
formatter.setLenient ( false );
Date formatDate = null;
try {
   formatDate = formatter.parse( dateValue );
} catch(java.text.ParseException e) {
   return "ERROR";
}



□ 두 날짜 비교
Date date1 = new Date();
Date date2 = new Date();
long ldate1 = date1.getTime();
long ldate2 = date2.getTime();
long diff;
diff = ldate2 - ldate1;
//결과값이 몇시간, 몇일 차이나는지 확인하기 위해선.
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis( diff );
posted by 느릅나무™