자바에서 날짜와 시간을 구하는 방법은 여러가지이고 대표적으로 3가지가있다.
이 세가지는 모두 동일한 기본 형식으로 현재날짜와 시간을 리턴한다.
세가지 타입 모두 기본형식을 리턴하기 때문에 원하는 날짜 형식을 위해서는
만든 날짜를 변환하는 과정이 필요하다.
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
자바 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