자바 공부/[자바] 기본 공부

[자바 공부 004일차] Date, Calendar

햅2024 2024. 11. 11. 17:46

 

  • Date

현재 시각

Date date = new Date();

 

시간 형식 지정 방법

SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a zzz");
System.out.println(ft.format(date));

 

현재 시간을 long 형식의 militime 으로 나타내는 법

System.out.println(date.getTime()); //date의 값을 long타임으로
long today = System.currentTimeMillis(); //System의 현재 시간을 long값으로
		
System.out.println(today - date.getTime()); //시간 연산

 

 

  • Calendar

칼렌더는 추상클래스이기 때문에 getInstance(); 를 이용하여 생성한다.

 

package JavaUtil.exam;

import java.util.Calendar;

public class CalendarExam {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Calendar cal = Calendar.getInstance();
		System.out.println(cal.get(Calendar.YEAR)); //연도 출력
		System.out.println( (cal.get(Calendar.MONTH)) + 1); //월 출력 ( 0월부터 11월까지 표현)
		System.out.println(cal.get(Calendar.DATE));
		System.out.println(cal.get(Calendar.HOUR)); 
		System.out.println(cal.get(Calendar.HOUR_OF_DAY)); //24시간제
		System.out.println(cal.get(Calendar.MINUTE)); //분
	}

}

 

주의!

자바는 월을 출력할 때 0월부터 11월까지로 계산하여 출력한다.

따라서 +1을 해주어야 한다.

 

시간 연산 방법

cal.add(Calendar.HOUR, 1);

add 함수를 통해 시간을 연산한다. 더하고 싶은 값에 해당하는 항목과 연산값을 적어준다.

 

 

 

  • Time

Time은 기존 Calendar와 Date을 보완해서 만든 라이브러리이다.

 

현재 시간 출력

LocalDateTime timePoint = LocalDateTime.now(); //현재 시간
System.out.println(timePoint);

 

 

원하는 날짜 생성

LocalDate ld1 = LocalDate.of(2024, Month.DECEMBER, 12); //원하는 날짜 생성
System.out.println(ld1);

LocalTime lt1 = LocalTime.of(17, 18); //시간 생성
System.out.println(lt1);

LocalTime lt2 = LocalTime.parse("10:15:30");
System.out.println(lt2);

 

날짜 값 출력하기

System.out.println(lt2.getHour()); //시간 출력

LocalDate theDate = timePoint.toLocalDate(); 
System.out.println(theDate);
System.out.println(theDate.getMonthValue()); //숫자로 출력. Date와 Calendar랑 다르게 +1 없이도 제대로 된 Month를 출력할 수 있다.
System.out.println(theDate.getMonth()); //노벰버로 출력