이 글에서는 Java를 사용하여 현재 날짜와 시간을 화면에 출력하는 방법을 알아보겠습니다.
Java에는 별도의 내장 Date 클래스가 존재하지 않습니다. 대신 java.time 패키지를 임포트하면 다양한 날짜·시간 관련 클래스를 활용할 수 있습니다. 이 패키지에는 LocalDateTime, DateTimeFormatter 등 날짜와 시간을 손쉽게 다룰 수 있는 클래스들이 포함되어 있습니다.
실행 결과 미리 보기
프로그램을 실행하면 아래와 같은 결과를 얻을 수 있습니다.
현재 날짜와 시간은: 2022/03/17 23:43:17
알고리즘
프로그램의 전체적인 흐름은 다음과 같습니다.
Step 1 - 시작 Step 2 - LocalDateTime 객체(예: date) 선언 Step 3 - 값 정의 Step 4 - DateTimeFormatter 객체로 원하는 날짜·시간 형식 지정 Step 5 - 지정된 형식으로 날짜와 시간 출력 Step 6 - 종료
예제 1: main 함수에서 모든 로직 처리하기
첫 번째 예제는 모든 연산을 main 함수 안에서 한 번에 처리하는 방식입니다. 절차 지향적으로 간단하게 구현할 때 유용합니다.
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
public class Demo {
public static void main(String[] args) {
System.out.println("필요한 패키지를 가져왔습니다");
System.out.println("LocalDateTime 객체가 정의되었습니다");
DateTimeFormatter date_time = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
System.out.println("\n현재 날짜와 시간은: " + date_time.format(now));
}
}출력 결과
필요한 패키지를 가져왔습니다 LocalDateTime 객체가 정의되었습니다 현재 날짜와 시간은: 2022/03/29 08:55:00
예제 2: 함수로 분리하여 객체 지향적으로 구현하기
두 번째 예제는 날짜·시간 출력 로직을 별도의 함수로 분리하여 객체 지향 프로그래밍(OOP) 스타일로 구현한 것입니다. 코드의 재사용성과 가독성이 향상됩니다.
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
public class Demo {
static void Date_time(DateTimeFormatter date_time){
LocalDateTime now = LocalDateTime.now();
System.out.println("\n현재 날짜와 시간은: " + date_time.format(now));
}
public static void main(String[] args) {
System.out.println("필요한 패키지를 가져왔습니다");
System.out.println("LocalDateTime 객체가 정의되었습니다");
DateTimeFormatter date_time = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
Date_time(date_time);
}
}출력 결과
필요한 패키지를 가져왔습니다 LocalDateTime 객체가 정의되었습니다 현재 날짜와 시간은: 2022/03/29 08:55:28
핵심 포인트 정리
LocalDateTime.now() 메서드를 호출하면 현재 시스템의 날짜와 시간을 담은 객체를 얻을 수 있으며, DateTimeFormatter.ofPattern()에 원하는 패턴 문자열(예: yyyy/MM/dd HH:mm:ss)을 전달해 출력 형식을 자유롭게 지정할 수 있습니다. 패턴 문자를 조합하면 'yyyy-MM-dd', 'HH:mm' 등 다양한 형태로 변환이 가능하므로 실무에서도 폭넓게 활용됩니다.