java.util패키지는 java프로그램에 유용한 클래스들을 모아둔 것
java에서는 시간에 대한 처리를 할 수 있도록 java.util 패키지 내에서 Calendar 클래스와 Date 클래스, SimpleDataFormat 클래스를 제공한다.
public static void main(String[] args) {
long start = System.currentTimeMillis();
System.out.println("시작시간: "+start);
int a = 0;
for(int i=1;i<10000000;i++) {
a++;
}
long end=System.currentTimeMillis();
System.out.println("종료시간: " +end);
System.out.println("걸린 작업 시간: " +(end-start));
}
}
Java에서 제공하는 날짜관리 클래스
방법1
Calendar a = Calendar.getInstance(); //싱글턴 패턴
방법2
Calendar b = new GregorianCalendar();
public static void main(String[] args) {
Calendar a = Calendar.getInstance();
int year = a.get(Calendar.YEAR);
int month = a.get(Calendar.MONTH)+1; // 1월이 0으로 나오기 때문에 +1을 함
int date = a.get(Calendar.DATE);
System.out.println(year+"년 "+month+"월"+date+"일");
System.out.println("이번주에서 몇 번째 일인지");
System.out.println(a.get(Calendar.DAY_OF_WEEK));
System.out.println("이번 년도에서 오늘이 몇 일째인가");
System.out.println(a.get(Calendar.DAY_OF_YEAR));
System.out.println("이번 달은 몇 일까지 있는가");
System.out.println(a.getActualMaximum(Calendar.DATE));
}
}
public static void main(String[] args) {
Calendar today = Calendar.getInstance();
Calendar endOfYear = Calendar.getInstance();
Calendar christmas=Calendar.getInstance();
endOfYear.set(Calendar.MONTH, 11); // month: 12월
endOfYear.set(Calendar.DATE, 31); // date: 31일
long diff = endOfYear.getTimeInMillis()-today.getTimeInMillis();
System.out.println("연말까지 남은 날:" + diff/(24*60*60*1000));
christmas.set(2022, 11, 25); //2022년 12월 25일
diff=christmas.getTimeInMillis()-today.getTimeInMillis();
System.out.println("크리스마스까지 남은 날:" + diff/(24*60*60*1000));
}
}
Date today = new Date();
System.out.println(today);
//Calendar -> Date
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
//Date -> Calendar
calendar.setTime(date);
//Calendar -> long
long time = calendar.getTimeInMillis();
//long -> Calendar
calendar.setTimeInMillis(time);
날짜를 형식화하는 클래스
기호 | 의미 |
---|---|
y | 년 |
M | 월 |
d | 일 |
E | 요일 |
a | 오전/오후 |
H | 시간 |
m | 분 |
s | 초 |
public static void main(String[] args) {
Date day = new Date();
String patternKorea="yyyy-MM-dd";
String patternUSA="MM-dd-yyyy";
String patternUK="dd-MM-yyyy";
String pattern1 = "E요일 HH시 mm분 ss초";
SimpleDateFormat p1 = new SimpleDateFormat(patternKorea);
SimpleDateFormat p2 = new SimpleDateFormat(patternUSA);
SimpleDateFormat p3 = new SimpleDateFormat(patternUK);
SimpleDateFormat p4 = new SimpleDateFormat(pattern1);
System.out.println("현재날짜:"+day);
System.out.println("한국형식(년,월,일):"+p1.format(day));
System.out.println("미국형식(월,일,년):"+p2.format(day));
System.out.println("영국형식(일,월,년):"+p3.format(day));
System.out.println("pattern1:"+p4.format(day));
}
}