datetime.datetime 모듈
Python의 datetime.datetime 모듈 활용에 관한 포스팅 입니다.
날짜 & 시간을 활용할 시에는 datetime.datetime 모듈을 사용합니다.
현재 날짜 & 시간 문자열 출력
datetime 모듈의 datetime.now()
를 사용하여 현재 날짜 & 시간을 알 수 있습니다.
예시
from datetime import datetime
def today_info():
now = datetime.now() # datetime.datetime 객체
today_date = now.strftime("%Y년 %m월 %d일")
now_time = now.strftime("%H시 %M분 %S초")
print(f'{today_date} {now_time}')
출력 결과는 아래와 같습니다.
2021년 02월 02일 22시 26분 27초
strftime VS. strptime
strftime()
함수는 datetime.datetime 객체 -> 문자열 로 변환할 때,
strptime()
함수는 문자열 -> datetime.datetime 객체 로 변환할 때 사용합니다.
strftime 예시
from datetime import datetime
today = datetime.today() # datetime.datetime 객체
print(type(today), today)
date_format = "%Y-%m-%d"
today_str = today.strftime(date_format) # 문자열
print(type(today_str), today_str)
출력 결과
<class 'datetime.datetime'> 2021-02-02 21:42:00.160815
<class 'str'> 2021-02-02
strptime 예시
문자열 -> datetime.datetime 객체로 변환할 때에는 반드시 문자열과 날짜/시간 포맷을 맞춰줘야 합니다. 포맷을 맞추지 않을 경우, ValueError가 발생합니다.
from datetime import datetime
tmp_str = "2021.02.02 23:18:20" # 문자열
print(type(tmp_str), tmp_str)
date_format = "%Y.%m.%d %H:%M:%S"
tmp_datetime = datetime.strptime(tmp_str, date_format) # datetime.datetime 객체
print(type(tmp_datetime), tmp_datetime)
출력 결과
<class 'str'> 2021.02.02 23:18:20
<class 'datetime.datetime'> 2021-02-02 23:18:20
datetime 객체 -> date 객체로 변환
날짜 & 시간 문자열로부터 날짜만 추출하고 싶을 때, 문자열에서 날짜만 추출하는 방법도 있겠지만, 문자열을 datetime.datetime 객체로 변환한 다음 date()
함수를 사용하면 편리합니다.
from datetime import datetime
datetime_text = '2021-11-24 23:57' # 날짜 & 시간 문자열
datetime_time = datetime.strptime(datetime_text, '%Y-%m-%d %H:%M') # datetime.datetime 객체로 변환
print(type(datetime_time), datetime_time)
date_time = datetime_time.date() # datetime.date 객체로 변환
print(type(date_time), date_time)
출력 결과
<class 'datetime.datetime'> 2021-11-24 23:57:00
<class 'datetime.date'> 2021-11-24
날짜 & 시간 비교
datetime.datetime 객체
문자열 자료형을 datetime.datetime 객체로 우선 변환한 후, 비교 연산자 >
, <
를 사용하여 날짜 & 시간을 비교할 수 있습니다.
from datetime import datetime
# 날짜 & 시간 문자열
previous_time_text = '2021.11.25. 00:13'
now_time_text = '2021.11.25. 00:27'
date_format = '%Y.%m.%d. %H:%M'
# 문자열 -> datetime.datetime 객체로 변환
previous_time = datetime.strptime(previous_time_text, date_format)
now_time = datetime.strptime(now_time_text, date_format)
# 비교 연산자 사용하여 날짜 & 시간 비교
print(previous_time < now_time)
print(previous_time > now_time)
출력 결과
True
False
datetime.date 객체
위와 마찬가지로 문자열 자료형을 datetime.date 객체로 변환한 후, 비교 연산자 >
, <
를 사용하여 날짜만 비교할 수도 있습니다.
from datetime import datetime
# 날짜 & 시간 문자열
previous_time_text = '2021.11.24. 23:53'
now_time_text = '2021.11.25. 00:13'
date_format = '%Y.%m.%d. %H:%M'
# 문자열 -> datetime.date 객체로 변환
previous_date = datetime.strptime(previous_time_text, date_format).date()
now_date = datetime.strptime(now_time_text, date_format).date()
# 비교 연산자 사용하여 날짜 비교
print(previous_date < now_date)
print(previous_date > now_date)
출력 결과
True
False
Reference
https://docs.python.org/3/library/datetime.html
Author And Source
이 문제에 관하여(datetime.datetime 모듈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sangyeon217/datetime저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)