'시간 연산'에 해당되는 글 1건

  1. 2008.06.05 [Java][Tip] 날짜 다루기 1
현재 날짜 시각
Calendar now = Calendar.getInstance();
Date date = new Date();


날짜의 세팅

ex > 2008년 1월 1일로 세팅 - Calendar
cal.set(Calendar.YEAR, 2008); 
cal.set(Calendar.MONTH, 0); 
cal.set(Calendar.DATE, 1); 
/*cal은 Calendar의 인스턴스*/

주의> 월의 경우, 0부터 시작
주의> 시간의 경우 HOUR는 12시간제
         24시간은 HOUR_OF_DAY


ex > 2000년 1월 1일로 세팅 - Timestamp
Timestamp timestamp = Timestamp.valueOf("2000-01-01 00:00:00.000000000");



간 클래스 간의 캐스팅

Date date = cal.getTime();
/*cal은 Calendar의 인스턴스*/

cal.setTime(date )
/*date은 java.util.Date의 인스턴스*/

시간 연산

ex > cal에서 1년뒤 (365일을 더함) - Calendar
cal.add(Calendar.YEAR, 1);

getYear대신?
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int year = cal.get(Calendar.YEAR);
지정달의 마지막 날짜

int getLastDay(int year, int month){
month--;
int[] monthEnd = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
   if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
    monthEnd[1] = 29;
   }
    return monthEnd[month];
}
요일구하기

String[] kanjiWeek = new String[]{"日","月","火","水","木","金","土"};
int year = 2012;
int month = 1;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month-1); //Calendar의 1월 = 0. 
cal.set(Calendar.DATE, 1);
int intWeek = cal.get(Calendar.DAY_OF_WEEK);

System.out.println(kanjiWeek[(intWeek-1)%7]);
//Candendar.DAY_OF_WEEK의 반환값은 SUN :1 - SAT:7
//배열의 0-6으로 맵핑
  







Posted by tenn
,