파이썬에서 날짜/시간 객체에서 연도를 얻는 방법

Python의 datetime 모듈은 날짜와 시간을 처리하기 위한 강력한 도구로, 개발자가 날짜 관련 데이터를 쉽게 조작하고 포맷할 수 있게 해줍니다. 일반적인 작업 중 하나는 datetime 객체에서 연도를 추출하는 것으로, 이는 데이터 분석, 로깅 또는 단순한 날짜 포맷 등 다양한 애플리케이션에 필수적일 수 있습니다. 이 기사에서는 Python에서 datetime 객체에서 연도를 추출하는 다양한 방법을 탐구하며, 과정에 대한 명확한 예제와 설명을 제공합니다. 초보자든 경험이 많은 프로그래머든, Python의 datetime 객체를 효율적으로 다루는 방법에 대한 귀중한 통찰을 찾을 수 있을 것입니다.
Python의 Datetime 모듈 이해하기
연도를 추출하는 방법을 알아보기 전에, datetime 모듈의 기본을 이해하는 것이 중요합니다. 이 모듈은 날짜와 시간을 조작하기 위한 클래스를 제공합니다. 가장 일반적으로 사용되는 클래스는 datetime.datetime
으로, 날짜와 시간을 하나의 객체로 결합합니다.
datetime 조작을 시작하려면 먼저 모듈을 가져와야 합니다:
import datetime
모듈을 가져온 후에는 datetime 객체를 생성하고 연도를 추출할 수 있습니다.
방법 1: year
속성 사용하기
datetime 객체에서 연도를 얻는 가장 간단한 방법 중 하나는 year
속성을 사용하는 것입니다. datetime 객체를 생성하면 여러 속성(연도, 월, 일, 시, 분, 초 및 마이크로초)이 포함됩니다.
다음은 이를 수행하는 방법입니다:
import datetime
# Create a datetime object for a specific date
dt = datetime.datetime(2025, 2, 1)
# Extract the year using the year attribute
year = dt.year
print(year)
출력:
2025
year
속성은 datetime 객체의 연도 구성 요소에 직접 접근합니다. 이 방법은 간단하고 효율적이므로 빠른 추출에 적합합니다. datetime.datetime()
생성자를 사용하여 datetime 객체를 만들 때 연도, 월 및 일을 지정합니다. year
속성은 정수로 연도를 반환하며, 이를 사용하여 추가 계산이나 작업을 수행할 수 있습니다.
이 방법은 데이터 세트에서 연도별로 레코드를 필터링하거나 연간 요약이 필요한 보고서를 생성하는 등 연도를 기반으로 작업을 수행해야 할 때 특히 유용합니다. 이 방법은 문자열 또는 타임스탬프와 같은 다양한 출처에서 생성된 datetime 객체와도 원활하게 작동하며 주목할 만합니다.
방법 2: strftime()
메서드 사용하기
datetime 객체에서 연도를 추출하는 또 다른 효과적인 방법은 strftime()
메서드를 사용하는 것입니다. 이 메서드는 지정된 형식에 따라 datetime 객체를 문자열로 포맷할 수 있게 해줍니다. 연도만을 가져오려면 형식 코드 %Y
를 사용할 수 있습니다.
다음은 이 방법을 시연하는 예입니다:
import datetime
# Create a datetime object for a specific date
dt = datetime.datetime(2025, 10, 1)
# Extract the year using strftime()
year = dt.strftime("%Y")
print(year)
출력:
2025
strftime()
메서드는 다재다능하며 다양한 방식으로 datetime 객체를 포맷할 수 있습니다. 형식 문자열 "%Y"
를 전달함으로써, Python에게 연도만 문자열로 반환하도록 지시하는 것입니다. 이 방법은 표시 목적이나 보고서 생성을 위해 특정 형식의 연도가 필요할 때 특히 유용합니다.
또한, strftime()
은 다양한 형식 코드를 사용하여 월 및 일과 같은 datetime 객체의 다른 구성 요소를 추출하는 데 사용할 수 있습니다. 예를 들어, %m
은 월을 제공하고, %d
는 일을 제공합니다. 이 유연성 덕분에 strftime()
은 날짜 및 시간 정보를 포맷하고 조작하는 강력한 도구입니다.
방법 3: date()
메서드 사용하기
datetime 객체가 있고 두 단계를 통해 연도를 추출하고 싶다면, 먼저 date()
메서드를 사용하여 datetime 객체를 날짜 객체로 변환할 수 있습니다. 그런 다음, 결과 날짜 객체의 year
속성에 접근할 수 있습니다.
다음은 이 방법을 구현하는 방법입니다:
import datetime
# Create a datetime object for a specific date
dt = datetime.datetime(2025, 10, 1)
# Convert the datetime object to a date object
date_obj = dt.date()
# Extract the year from the date object
year = date_obj.year
print(year)
출력:
2025
이 방법에서는 먼저 date()
메서드를 사용하여 datetime 객체를 날짜 객체로 변환합니다. 날짜 객체에는 시간 구성 요소를 제외한 날짜 정보(연도, 월, 일)만 포함됩니다. 변환 후에는 날짜 객체의 year
속성에 쉽게 접근할 수 있습니다.
이 접근 방식은 시간 구성 요소를 완전히 제외하고 날짜에만 집중하고 싶을 때 특히 유용합니다. 또한 datetime 객체 대신 날짜 객체가 필요한 라이브러리나 함수와 작업할 때도 유용할 수 있습니다. 두 단계 과정은 날짜 관련 데이터를 조작할 때 더 큰 유연성을 제공합니다.
결론
Python에서 datetime 객체에서 연도를 추출하는 것은 간단한 작업이며, year
속성, strftime()
메서드 및 date()
메서드와 같은 여러 방법으로 이를 달성할 수 있습니다. 각 방법은 장점이 있으며, 어떤 방법을 사용할지는 특정 요구 사항과 프로젝트의 맥락에 따라 달라집니다. 이러한 기술을 마스터함으로써 Python 애플리케이션에서 날짜 및 시간 데이터를 효율적으로 처리하고 프로그래밍 기술을 향상시키며 전반적인 생산성을 높일 수 있습니다.
FAQ
- Python에서 datetime 객체란 무엇인가요?
Python의 datetime 객체는 날짜와 시간 구성 요소를 포함하여 특정 시점을 나타냅니다. 이는 날짜와 시간 데이터를 조작하기 위한 다양한 클래스와 메서드를 제공하는 datetime 모듈의 일부입니다. - Python에서 datetime 객체를 어떻게 생성하나요?
datetime.datetime()
생성자를 사용하여 연도, 월, 일, 시, 분, 초 및 마이크로초를 필요에 따라 지정하여 datetime 객체를 생성할 수 있습니다. 예:datetime.datetime(2025, 2, 1)
입니다. - 유사한 방법으로 월과 일을 추출할 수 있나요?
네, 이 기사에서 논의된 동일한 방법을 사용하여 월과 일을 추출할 수 있습니다. 예를 들어,month
속성이나 형식 코드%m
과%d
를 사용하는strftime()
메서드를 사용할 수 있습니다. - datetime 객체와 date 객체의 차이는 무엇인가요?
datetime 객체는 날짜와 시간 구성 요소를 포함하는 반면, date 객체는 시간 정보 없이 날짜(연도, 월, 일)만 포함합니다.date()
메서드를 사용하여 datetime 객체를 date 객체로 변환할 수 있습니다. - 문자열 날짜에서 연도를 추출할 수 있나요?
네, 날짜의 문자열 표현을strptime()
메서드를 사용하여 datetime 객체로 변환한 다음, 위에서 논의한 방법 중 하나로 연도를 추출할 수 있습니다.
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn