▶ long 이라는 기본 자료형이 Java에서는 시간 값을 연산하는데 있어서 실행되는 단위.
- long : 1,000분의 1초 단위로 계산된 결과를 알려 줍니다.
- java.util.Calendar : 국가별, 시간대별 시간을 정확히 알 수 있도록 제공하는 기능과 날자 계산에 관한 많은 메소드를 가지고 있습니다.
- java.util.Date : 거의 모든 메소드가 Deprecated. java.util.Calendar와 long 사이의 중간 고리로 주로 사용
- System.currentTimeMillis()
: 현재 시각은 현재 JVM이 실행되고 있는 OS 시각을 기초로 가져오게 되며, 1970년 1월 1일 기준 시점으로 1/1000 초 단위로 연산됨.
public class ClassTest {
public static void main(String[] args) {
long current = System.currentTimeMillis();
System.out.println(current);
}
}
▶ Calendar class
- Calendar.getInstance()를 이용해서 GregorianCalendar 객체를 얻는 방법
- new GregorianCalendar()를 이용해서 직접 객체를 얻어내는 방법
import java.util.Calendar;
import java.util.GregorianCalendar;
public class ClassTest {
public static void main(String[] args) {
Calendar cal1 = Calendar.getInstance();
System.out.println(cal1);
Calendar cal2 = new GregorianCalendar();
System.out.println(cal2);
}
}
결과
java.util.GregorianCalendar[time=1343449098546,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=14,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2012,MONTH=6,WEEK_OF_YEAR=30,WEEK_OF_MONTH=4,DAY_OF_MONTH=28,DAY_OF_YEAR=210,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=18,SECOND=18,MILLISECOND=546,ZONE_OFFSET=32400000,DST_OFFSET=0]
java.util.GregorianCalendar[time=1343449098546,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=14,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2012,MONTH=6,WEEK_OF_YEAR=30,WEEK_OF_MONTH=4,DAY_OF_MONTH=28,DAY_OF_YEAR=210,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=18,SECOND=18,MILLISECOND=546,ZONE_OFFSET=32400000,DST_OFFSET=0]
▶ get(int field) 메소드
- get() 메소드의 리턴 타입은 무조건 int 이다.
: 날짜 , 년도, 요일 등은 모든 데이터는 숫자로 나옵니다. 주의할점은 월(month)은 특이하게도 0에서 부터 시작하기 때문에 실제 월보다 하나 작은 값이 반환 됩니다.
- get() 안에는 Calendar 클래스의 상수를 정해주면 된다.
: get() 안에 쓰이는 값을 알 필요가 거의 없습니다. 모두 상수로 되어 있어서 Calendar.YEAR와 같이 원하는 상수가 있는지 확인 후에 호출해 주면 됩니다.
▶ set(int field, int value) 메소드
: 특정 데이터에 값을 주는 방법 ex) cal.set(Calendar.DATE, 22);
▶ 요일 : Calendar.DAY_OF_WEEK
: 일요일이 날짜 데이터 값으로 '1'
import java.util.Calendar;
public class ClassTest {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DAY_OF_WEEK);
System.out.println(day);
}
}
▶ getActualMaximum() : 말일이 몇 일까지인지를 알려줌.
import java.util.Calendar;
public class ClassTest {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, 6); // 0부터 시작하므로 7월
int lastDay = cal.getActualMaximum(Calendar.DATE);
System.out.println("마지막날 : " + lastDay);
}
}
[JAVA] Timer / TimerTask - 잠시 후에 실행 (0) | 2012.07.28 |
---|---|
[JAVA] BigDecimal - 정확한 소수 표현 (0) | 2012.07.28 |
[JAVA] String Class - 01 (0) | 2012.07.27 |
Editplus에서 컴파일하고 실행할 수 있도록 설정하는 방법 (0) | 2011.06.25 |
Exercise JAVA Class (0) | 2010.10.30 |
댓글 영역