[자바] 날짜, 시간 데이터 사용하기

Kyu·2021년 3월 7일
0

Java 공부기록

목록 보기
35/40

자바에서 날짜와 시간을 구하는 방법은 여러가지이고 대표적으로 3가지가있다.

Date, Calendar, System

이 세가지는 모두 동일한 기본 형식으로 현재날짜와 시간을 리턴한다.

세가지 타입 모두 기본형식을 리턴하기 때문에 원하는 날짜 형식을 위해서는
만든 날짜를 변환하는 과정이 필요하다.

SimpleDateFormat을 이용하면 원하는 형식을 지정가능.

yyyy-MM-dd-HH-mm-ss 순서대로 year-month-day-hour-minute-second 형식이다.

지정된 문자를 제외하고 다른 문자나 기호를 붙여 원하는 형식으로 지정가능.

예시1

SimpleDateFormat sdf = new SimpleDataFormat("yyyy년 MM월 dd일"); // 원하는 포맷의 객체 생성
Date now = new Date(); // 기본 생성자를 호출하면 현재 날짜와 시간을 초기화 한다.
System.out.println(sdf.format(now)); //  SimpleDateFormat의 format() 메서드를 사용해서 콘솔에 Date를 출력한다.
결과
2021년 03월 07일
예시2

SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd");
System.out.println(sdf.format(System.currentTimeMillis()));

currentTimeMillis()는 system클래스에 포함되어 있어 별도로 선언할 건 없음

결과)
2021:03:07
예시3
SimpleDateFormat sdf = new SimpleDateFormat("yyyy!MM!dd");
Calendar time = Calendar.getInstance();
System.out.println(sdf.format(time.getTime()));

Calendar 를 이용해서 현재 시각을 호출하는 방법

결과)
2021!03!07

Calendar와 Date는 여러문제가 있다.

읽어보기
https://d2.naver.com/helloworld/645609

자바 8에서 나온 LocalDate, LocalTime, LocalDateTime 사용을 권장한다.

순서대로 날짜만 사용, 시간만 사용, 날짜 시간 둘다 사용 할 수 있는 클래스이다.

LocalDateTime 을 이용해서 다음과 같이 현재 시간을 얻어올수있다

예시
LocalDate currentDate = LocalDate.now();
System.out.println(currentDate);

참고로 LocalDateTime 을 String으로 받는다던가 아니면 Date로 받는다던가 아니면 그 역방향으로도 변환할 수 있기때문에 필요할때 검색해서 사용하면 된다.


참고
https://jeong-pro.tistory.com/163
https://lookingfor.tistory.com/entry/java-date-time-format

profile
TIL 남기는 공간입니다

0개의 댓글