현재 날짜 및 시간을 가져오고 다양한 형식으로 출력하는 것을 알아봅니다. 이 글에서는 LocalDateTime와 DateTimeFormatter을 사용하여 날짜 및 시간을 출력합니다.
DateTimeFormatter, LocalDateTime는 JAVA8에서 소개된 새로운 클래스입니다. 기존에 사용하던 SimpleDateFormat을 대체합니다.
1. 현재 날짜, 시간 가져오기 (기본형식 출력)
LocalDateTime.now()는 현재 날짜와 시간을 가져옵니다.LocalDate.now는 현재 날짜만 가져옵니다.
아래와 같이 현재 날짜, 시간을 가져와서 출력할 수 있습니다.
import java.time.LocalDate;
import java.time.LocalDateTime;
public class Example {
    public static void main(String args[]) {
        LocalDateTime dateAndtime = LocalDateTime.now();
        LocalDate onlyDate = LocalDate.now();
        System.out.println("Current date and time: " + dateAndtime);
        System.out.println("Current date: " + onlyDate);
    }
}Output:
Current date and time: 2019-03-23T00:05:54.608
Current date: 2019-03-231.1 특정 날짜, 시간의 Date 객체 생성
특정 시간의 LocalData, LocalDateTime을 생성하려면 of()를 사용하면 됩니다.
LocalDate.of(2019, 3, 22) // 2019. 3. 22
LocalDateTime.of(2019, 3, 22, 10, 10, 10) // 2019. 3. 22, 10:10:102. 날짜, 시간 출력 (기본 형식)
DateTimeFormatter을 사용하면 날짜, 시간을 원하는 형식으로 출력할 수 있습니다.
아래 예제에서 ISO_DATE는 라이브러리에서 제공하는, 기본 형식입니다. 이외에 다양한 것들이 있습니다.
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Example {
    public static void main(String args[]) {
        LocalDateTime current = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE;
        String formatted = current.format(formatter);
        System.out.println("Current: " + formatted);
    }
}Output:
Current: 2019-03-22ISO_DATE 이외에, 아래와 같이 라이브러리에서 DateTimeFormatter의 포맷들을 제공합니다.
| 상수 | 출력 예제 | 
|---|---|
| ISO_DATE_TIME | 2019-03-22T23:56:36.4 | 
| ISO_LOCAL_DATE | 2019-03-22 | 
| ISO_LOCAL_TIME | 23:56:36.4 | 
| ISO_LOCAL_DATE_TIME | 2019-03-22T23:56:36.4 | 
| ISO_DATE | 2019-03-22 | 
| ISO_TIME | 23:56:36.4 | 
3. 날짜, 시간 출력 (다른 형식)
DateTimeFormatter.ofPattern()를 사용하면 원하는 형식으로 출력할 수 있습니다.
대신 아래와 같이 패턴을 만들어 인자로 전달해줘야 합니다.
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Example {
    public static void main(String args[]) {
        LocalDateTime current = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 HH시 mm분 ss초");
        String formatted = current.format(formatter);
        System.out.println("Current: " + formatted);
    }
}Output:
Current: 2019년 03월 22일 23시 46분 36초DateTimeFormatter.ofPattern()에서 다음과 같은 패턴들을 사용할 수 있습니다.
| 패턴 | 예제 | 
|---|---|
| yyyy-MM-dd | “2019-07-04” | 
| dd-MMM-yyyy | “04-July-2019” | 
| dd/MM/yyyy | “04/07/2019” | 
| yyyy-MM-dd'T'HH:mm:ssZ | “2019-07-04T12:30:30+0530” | 
| h:mm a | “12:00 PM” | 
| yyyy년 MM월 dd일 | "2019년 01월 10일" | 
Loading script...
Related Posts
- Java - Unsupported class file major version 61 에러
 - Java - String.matches()로 문자열 패턴 확인 및 다양한 예제 소개
 - Java - 문자열 공백제거 (trim, replace)
 - Java - replace()와 replaceAll()의 차이점
 - Java - ArrayList 초기화, 4가지 방법
 - Java - 배열 정렬(Sorting) (오름차순, 내림차순)
 - Java - 문자열(String)을 비교하는 방법 (==, equals, compare)
 - Java - StringBuilder 사용 방법, 예제
 - Java - 로그 출력, 파일 저장 방법 (Logger 라이브러리)
 - Java IllegalArgumentException 의미, 발생 이유
 - Java - NullPointerException 원인, 해결 방법
 - Seleninum의 ConnectionFailedException: Unable to establish websocket connection 해결
 - Java - compareTo(), 객체 크기 비교
 - Java - BufferedReader로 파일 읽기
 - Java - BufferedWriter로 파일 쓰기
 - Java - BigInteger 범위, 비교, 연산, 형변환
 - Java charAt() 함수 알아보기
 - Java contains()로 문자(대소문자 X) 포함 확인
 - Java - Set(HashSet)를 배열로 변환
 - Java - 문자열 첫번째 문자, 마지막 문자 확인
 - Java - 문자열 한글자씩 자르기
 - Java - 문자열 단어 개수 가져오기
 - Java - 1초마다 반복 실행
 - Java - 배열을 Set(HashSet)로 변환
 - Java - 여러 Set(HashSet) 합치기
 - Java - 명령행 인자 입력 받기
 - Java - 리스트 역순으로 순회, 3가지 방법
 - Java - 특정 조건으로 리스트 필터링, 3가지 방법
 - Java - HashMap 모든 요소들의 합계, 평균 계산
 - Java - 특정 조건으로 HashMap 필터링
 - Java - 싱글톤(Singleton) 패턴 구현
 - Java - 숫자 왼쪽에 0으로 채우기
 - Java - String 배열 초기화 방법
 - Java - 정렬된 순서로 Map(HashMap) 순회
 - Java - HashMap에서 key, value 가져오기