Python 날짜 변환: strftime()과 strptime() 완벽 가이드

오늘은 Python 날짜 변환: strftime()과 strptime() 완벽 가이드 라고 붙여 본
Python에서 날짜와 시간을 다룰 때 자주 사용되지만 항상 헷갈리는  두 가지 함수, strftime()strptime()에 대해 알아보겠습니다.
이 함수들은 각각 날짜를 문자열로 변환하고, 문자열을 날짜로 변환하는 데 사용됩니다.
이 글에서는 이 함수들의 개념과 사용법을 상세히 설명하겠습니다.

이 두 함수는 사용할 때 마다 헷갈리는 함수이다.
먼저 기억하는 방법을 알려주려 한다.
strftime과 strptime은 f와 p만 다르다. 필자가 기억하는 방식은 곡선이 어디로 향하느냐이다.
f 는 곡선이 앞으로 <-로 향하기 때문에 str <- time이라 매핑한다. (str를 리턴 받아야 하기 때문에 인자는 format string 이겠다.)
p는 곡선이 뒤로 ->로 향하기 때문에  str -> time이라 매핑한다. (time 값으로 처리 하여야 하기 떄문에 인자는 str 변수와 format str이 되겠다.
이런 방법으로 기억하고 헷갈리지 않기를 바란다.

이제 디테일하게 들여다 보자

strftime() – 날짜를 문자열로 변환 (<–)

strftime() 함수는 날짜와 시간을 원하는 형식의 문자열로 변환합니다. 이 함수는 주로 로그 파일명, 사용자 인터페이스 표시, 보고서 생성 등에서 유용하게 사용됩니다. 사용법은 다음과 같습니다.

사용법

import datetime

now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)

위 코드에서 now.strftime("%Y-%m-%d %H:%M:%S")는 현재 날짜와 시간을 ‘YYYY-MM-DD HH:MM’ 형식의 문자열로 변환합니다.

주요 형식 지정자

  • %Y: 4자리 연도 (예: 2024)
  • %m: 2자리 월 (01에서 12)
  • %d: 2자리 일 (01에서 31)
  • %H: 24시간 형식의 시간 (00에서 23)
  • %M: 분 (00에서 59)
  • %S: 초 (00에서 59)

이 외에도 다양한 형식 지정자가 있습니다. Python 공식 문서에서 모든 형식 지정자를 확인할 수 있습니다.


strptime() – 문자열을 날짜로 변환 (–>)

strptime() 함수는 문자열을 datetime 객체로 변환합니다. 이 함수는 주로 사용자 입력, 데이터베이스에서 불러온 문자열 데이터를 날짜 형식으로 변환할 때 사용됩니다.

사용법

import datetime

date_string = "2024-07-24 14:30:00"
date_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(date_object)

위 코드에서 datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")는 ‘2024-07-24 14:30:00’ 형식의 문자열을 datetime 객체로 변환합니다.

자주 사용하는 패턴

  • 날짜와 시간: "%Y-%m-%d %H:%M:%S"
  • 날짜만: "%Y-%m-%d"
  • 시간만: "%H:%M:%S"

이 두 함수는 Python에서 날짜와 시간을 다루는 데 매우 유용하며, 다양한 상황에서 활용할 수 있습니다. 자주 사용하는 패턴과 형식 지정자를 기억해두면 코딩할 때 큰 도움이 될 것입니다.

오늘은 str->datetime, datetime->str 변환에 필요한 Python 날짜 변환: strftime()과 strptime() 완벽 가이드 에 대해 알아 보았다.

이렇게 메모가 필요한 소소한 글들을 간단하게 올려 공유하고자 한다.