// 객체 생성시 자동입력
import java.util.Calender;
//싱글톤 객체 불러오기
Calender cal = Calender.getInstance();
// 년 호출
int yy = cal.get( Calneder.Year );
// 월 호출 (자바의 월은 0부터)
int mm = cal.get( Calendar.MONTH ) + 1;
// 일 호출
int dd = cal.get( Calendar.DAY_OF_MONTH );
// 시 호출
1) 24시간제 int hh = cal.get( Calendar.HOUR_OF_DAY );
2) 12시간제 int hh2 = cal.get( Calendar.HOUR );
// 분 호출
int mi = cal.get( Calendar.MINUTE );
// 초 호출
int ss = cal.get( Calendar.SECOND );
// "오전", "오후" 호출
int ampm = cal.get( Calendar.AM_PM );
String[] apname = {"오전", "오후"};
import java.util.Calendar;
public class DatePrinter {
public static void printDateTime ( Calendar cal ) {
int yy = cal.get( Calendar.YEAR );
int mm = cal.get( Calendar.MONTH ) + 1;
int dd = cal.get( Calendar.DAY_OF_MONTH );
int hh = cal.get( Calendar.HOUR_OF_DAY );
int mi = cal.get( Calendar.MINUTE );
int ss = cal.get( Calendar.SECOND );
System.out.printf("%04d년 %02d월 %02d일 %02d시 %02d분 %02d초\n"
, yy, mm, dd, hh, mi, ss);
}
}
import java.util.Calendar;
public class Main02 {
public static void main(String[] args) {
// 캘린더 객체
Calendar cal = Calendar.getInstance();
//1. 현재 시각
DatePrinter.printDateTime(cal);
//클래스이름.메서드이름(변수);
// 2. 지금으로부터 100일 후
cal.add(Calendar.DAY_OF_MONTH, 100);
DatePrinter.printDateTime(cal);
// 3. 75년 전
cal.add(Calendar.YEAR, -75);
DatePrinter.printDateTime(cal);
// 4. 9시간 후
cal.add(Calendar.HOUR, 9);
DatePrinter.printDateTime(cal);
// 5. 8달 후
cal.add(Calendar.MONTH, 8);
DatePrinter.printDateTime(cal);
2023년 02월 03일 23시 40분 01초
2023년 05월 14일 23시 40분 01초
1948년 05월 14일 23시 40분 01초
1948년 05월 15일 08시 40분 01초
1949년 01월 15일 08시 40분 01초
// 누적값으로 출력
import java.util.Calendar;
public class Main03 {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
//1. 현재시간
DatePrinter.printDateTime(cal);
//위에 만들었덛 DatePrinter 클래스 사용
//2. 특정 날짜로 지정
cal.set(Calendar.YEAR, 2020);
cal.set(Calendar.MONTH, 4); // 5월 (월은 0 시작)
cal.set(Calendar.DAY_OF_MONTH, 5);
cal.set(Calendar.HOUR_OF_DAY, 15);
cal.set(Calendar.MINUTE, 30);
cal.set(Calendar.SECOND,33);
DatePrinter.printDateTime(cal);
//3. 특정 날짜로 지정2
cal.set(1982, 5, 17);
DatePrinter.printDateTime(cal);
//4. 특정 날짜로 지정3
cal.set(1982, 5, 17, 1, 2, 3);
DatePrinter.printDateTime(cal);
2023년 02월 03일 23시 47분 11초
2020년 05월 05일 15시 30분 33초
1982년 06월 17일 15시 30분 33초
1982년 06월 17일 01시 02분 03초
현재 날짜 : 2023년 02월 03일 금요일
요일에 해당하는 인덱스(일=1 ~ 토=7)
int day = cal.get(Calendar.DAY_OF_WEEK);
System.out.println("요일 인덱스 = " + day);
String[] day_name = {"일", "월", "화", "수", "목", "금", "토", "일"};
System.out.println("요일 = " + day_name[day-1]);
int week_count = cal.getActualMaximum(Calendar.WEEK_OF_MONTH);
System.out.println("이번 달은 " + week_count + "주로 되어 있다.");
int day_count = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("이번 달은 " + day_count + "일 까지 있다.");
cal.set(Calendar.DAY_OF_MONTH, 1);
int first_day = cal.get(Calendar.DAY_OF_WEEK);
System.out.println("이번 달은 시작 요일 인덱스 = " + first_day);
System.out.println("이번 달의 시작 요일 = " + day_name[first_day -1]);
요일 인덱스 = 7
요일 = 토
이번 달은 5주로 되어 있다.
이번 달은 28일 까지 있다.
이번 달은 시작 요일 인덱스 = 4
이번 달의 시작 요일 = 수
Calendar cal = Calendar.getInstance();
long ms1 = cal.getTimeInMillis();
System.out.println(" 시작 >> " + ms1);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// try ~ catch 이유 : 오류가 잘 생기는 프로그램 자바에서 자동으로 필요하다고 뜸
// Unhandled exception type InterruptedException
import java.util.Calendar;
public class Main05 {
public static void main(String[] args) {
// 캘린더 객체 복사
Calendar cal = Calendar.getInstance();
// 현재시간의 밀리세컨드
long ms1 = cal.getTimeInMillis();
System.out.println("파일복사 시작 >> " + ms1);
// 5초 지연
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 결과 도출
long ms2 = System.currentTimeMillis();
System.out.println("파일복사 끝 >> " + ms2);
// 두 시간의 차이 얻기(5초 지났는지 확인)
long x = ms2 - ms1;
System.out.println(x);
// 1/1000초 이므로, 100으로 나누면
// 소요 시간을 얻을 수 있다.
long y = x / 1000;
System.out.println(y + "초 지났음");
파일복사 시작 >> 1675438053516
// 5초 후
파일복사 끝 >> 1675438058529
5013
5초 지났음