Python의 datetime 모듈에서 제공하는 combine() 메서드를 사용하면 date 객체와 time 객체를 하나로 결합하여 datetime 객체를 손쉽게 만들 수 있습니다.
time 객체 없이 date 객체만 가지고 있다면, datetime.min을 활용해 시간을 최솟값으로 초기화하면 됩니다. 여기서 최솟값이란 자정(00:00:00)을 의미합니다.
예제 1: combine() 메서드 사용하기
from datetime import date
from datetime import datetime
my_date = date.today()
my_time = datetime.min.time()
my_datetime = datetime.combine(my_date, my_time)
print(my_datetime)
출력 결과
2018-01-01 00:00:00
위 예제에서는 datetime.min.time()으로 자정에 해당하는 시간 객체를 얻은 뒤, 이를 오늘 날짜와 결합하여 datetime 객체를 생성했습니다.
예제 2: datetime 생성자 직접 사용하기
from datetime import date
from datetime import datetime
my_date = date.today()
my_datetime = datetime(my_date.year, my_date.month, my_date.day)
print(my_datetime)
출력 결과
2018-01-01 00:00:00
두 번째 방법은 date 객체에서 연도(year), 월(month), 일(day) 값을 추출하여 datetime 생성자에 직접 전달하는 방식입니다. 이 경우 시간 정보는 별도로 지정하지 않아도 자동으로 자정(00:00:00)으로 설정됩니다.
두 방법 모두 동일한 결과를 반환하므로, 상황에 맞게 편리한 방식을 선택하여 사용하면 됩니다. 특히 이미 time 객체를 함께 다루고 있다면 combine()이, 날짜 정보만 있다면 생성자 방식이 더 간결할 수 있습니다.