Python 날짜 포맷 변경 방법 및 strftime 활용법 3가지(yyyy-mm-dd)

datetime 그리고 타임스탬프를 활용한 Python 날짜 포맷 변경 방법을 알려드립니다.

Python 날짜 포맷 변경 방법

현재 시간을 구해서 문자열로 변환하는 방법, timestamp를 변환하는 방법을 소개합니다.

현재 시간을 문자열로 변환

Python에서 현재 일시를 2009-11-23 12:32:17과 같은 형태의 문자열로 변환하려면 아래와 같이 하면 됩니다.

from datetime import datetime

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

아래 그림과 같이 datetime 객체의 값을 문자열로 변환된 것을 확인할 수 있습니다.

그림 4. 파이썬 타임스탬프를 Y-m-d의 문자열로 변환
그림 1. Python 날짜 포맷 변경: yyyy-mm-dd HH:MM:SS 형식으로 변환

타임스탬프를 datetime 형식으로 변환

타임스탬프를 datetime.datetime 형식으로 변환하고자 한다면, 우선 타임스탬프를 초 단위의 값이 되도록 타임스탬프 값을 준비해야 합니다.

from datetime import datetime

datetime.fromtimestamp(1012000001.234654)
Python

위와 같은 코드는 아래와 같은 결과가 됩니다.

그림 2. 파이썬 타임스탬프를 datetime 객체로 변환
그림 2. 파이썬 타임스탬프를 datetime 객체로 변환

년, 월, 일 값을 날짜 객체로 변환

이번에는 타임스탬프가 아니라 년, 월, 일 값을 datetime.datetime 객체로 얻는 방법을 살펴보도록 하겠습니다. 앞서서 이미 힌트가 나왔는데, 바로 datetime.datetime()을 사용하는 것입니다. 파라미터로 년, 월, 일, 시, 분, 초를 차례로 넣어주면 원하는 datetime 객체를 얻을 수 있습니다.

datetime.datetime(2002, 1, 26)
Python

위의 코드를 실행하면 아래와 같은 결과가 나옵니다.

그림 3. 파이썬 년, 월, 일 값을 datetime.datetime 객체로 변환
그림 3. 파이썬 년, 월, 일 값을 datetime.datetime 객체로 변환

타임스탬프를 yyyy-mm-dd 포맷의 문자열로 변환

만약 YYYY-mm-dd의 형식으로 출력하고 싶다면, 위의 내용들을 연결시키면 됩니다.

from datetime import datetime

datetime.fromtimestamp(1012000001.234654).strftime("%Y-%m-%d")
Python

복합적으로 적용한 결과입니다. 타임스탬프를 날짜 객체로 변환하고 문자열로 다시 변환한 경우입니다.

그림 4. 파이썬 타임스탬프를 Y-m-d의 문자열로 변환
그림 4. 파이썬 날짜 포맷 변경: 타임스탬프를 Y-m-d의 문자열로 변환

strftime() 내에 사용할 수 있는 항목들은 아래와 같습니다. 예를 들어, 2008년 8월 3일 오전 5시 11분 3초라는 시간을 가정해 보겠습니다.

  • %Y는 4자리 년도인 2008이 됩니다.
  • %y는 2자리 년도인 08이 됩니다.
  • %m은 0이 채워진 두 자리 수의 월이므로 08이 됩니다.
  • %d는 0이 채워진 두 자리 수의 일이므로 03이 됩니다.
  • %H는 0이 채워진 두 자리 수의 시를 의미하므로 05가 됩니다.
  • %M은 0이 채워진 두 자리 수의 분을 의미하므로 11이 됩니다.
  • %S는 0이 채워진 두 자리 수의 초를 의미하므로 03이 됩니다.

일단 요정도가 간략히 살펴볼 수 있는 포맷 유형입니다.

관련 링크

더 자세한 내용은 python 공식 datetime 문서를 확인해 보시면 됩니다. 아래에 링크 공유해 드립니다.

함께 읽으면 좋은 글

Leave a Comment