자바의 기초문법
날짜와 시간 자바 클래스: Date, Calendar, GregorianCalendar
netyhobby
2015. 12. 21. 01:00
날짜와 시간 (p405 참조)
1. Date
import java.util.Date;
Date d = new Date(); // 현재 년월일 시분초
Date 예제1
(책에 없음. 예전방식이라 호환성 문제로 주의)
package basic_class;
import java.util.Date;
public class Date01 {
public static void main(String[] args) {
Date d = new Date(); // 현재 년월일 시분초
public class Date01 {
public static void main(String[] args) {
Date d = new Date(); // 현재 년월일 시분초
System.out.println(1900+d.getYear()+"년"); // Date는 1900 이후부터 카운트되므로 1900 붙여야 함
System.out.println(1+d.getMonth()+"월"); // 자바의 월은 0~11까지만 있으므로 1을 더해야 함
System.out.println(d.getDate()+"일");
System.out.println(d.getHours()+"시");
System.out.println(d.getMinutes()+"분");
System.out.println(d.getSeconds()+"초");
System.out.println("요일"+d.getDay());
}
}
System.out.println(1+d.getMonth()+"월"); // 자바의 월은 0~11까지만 있으므로 1을 더해야 함
System.out.println(d.getDate()+"일");
System.out.println(d.getHours()+"시");
System.out.println(d.getMinutes()+"분");
System.out.println(d.getSeconds()+"초");
System.out.println("요일"+d.getDay());
}
}
Date 예제2. set 메소드
(책에 없음. 예전방식이라 호환성 문제로 주의)
package basic_class;
import java.util.Date;
public class Date02 {
public static void main(String[] args) {
Date d1 = new Date();
Date d2 = new Date();
d2.setYear(108); // 2008년
d2.setMonth(6); // 7월
d2.setDate(10); //10월
if(d1.after(d2)) { // 날짜가 이전이냐 이후냐의 비교가 가능한 after/before 메소드
System.out.println("d1이 d2 이후의 날짜");
}
else{
System.out.println("d1이 d2 이후의 날짜가 아님");
}
}
}
public class Date02 {
public static void main(String[] args) {
Date d1 = new Date();
Date d2 = new Date();
d2.setYear(108); // 2008년
d2.setMonth(6); // 7월
d2.setDate(10); //10월
if(d1.after(d2)) { // 날짜가 이전이냐 이후냐의 비교가 가능한 after/before 메소드
System.out.println("d1이 d2 이후의 날짜");
}
else{
System.out.println("d1이 d2 이후의 날짜가 아님");
}
}
}
---------------------------------------------------------------------------------------------------------------
2. Calendar
Calendar cal = Calendar.getInstance();
책에 나온 GregorianCaledar와 다소 다른 방식 (그레고리 외 윤년 차이 있음)
package basic_class;
import java.util.Calendar;
public class Calendar01 {
public static void main(String[] args) {
import java.util.Calendar;
public class Calendar01 {
public static void main(String[] args) {
//GregorianCalendar cal = new GregorianCalendar();
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR); // get이라는 메소드로 바로 사용 가능
int month = cal.get(Calendar.MONTH);
int date = cal.get(Calendar.DATE);
System.out.println(year+"년");
System.out.println((month+1)+"월");
System.out.println(date+"일");
cal.set(Calendar.YEAR, 2014);
year = cal.get(Calendar.YEAR);
System.out.println("년도 변경 후"+year+"년");
}
}
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR); // get이라는 메소드로 바로 사용 가능
int month = cal.get(Calendar.MONTH);
int date = cal.get(Calendar.DATE);
System.out.println(year+"년");
System.out.println((month+1)+"월");
System.out.println(date+"일");
cal.set(Calendar.YEAR, 2014);
year = cal.get(Calendar.YEAR);
System.out.println("년도 변경 후"+year+"년");
}
}
---------------------------------------------------------------------------------------------------------------
3. GregorianCalendar
GregorianCalendar calendar = new GregorianCalendar();
(p407 참조)
calendar.setTimeZone(timeZone); // 다른 시간대의 날짜와 시간을 출력
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy년 MM월 dd일 aa hh시 mm분 ss초);
// 날짜와 시간 포멧. 월은 대문자M, 소문자m은 분인 것에 주의
(p413 예제)
package basic_class;
import java.util.*;
import java.text.*; // SimpleDateFormat 클래스가 속하는 패키지
public class DateFormatExample1 {
public static void main(String[] args) {
GregorianCalendar calendar = new GregorianCalendar();
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy년 MM월 dd일 aa hh시 mm분 ss초");
String str = dateFormat.format(calendar.getTime());
System.out.println(str);
}
}
calendar.getTime()은 아래와 같다.
Date date = cal.getTime();
Strimg str = dateFormat.format(cal);