본문 바로가기
프로그래밍/Python

[Python] Datetime format change(yyyy-mm-dd)/ Datetime 포맷 바꾸기

by Mr.noobiest 2023. 12. 27.

 

 

Datetime

Python은 직관적인 코드를 사용하여 데이터를 원하는 형태로 가공이 가능하다, 그중에서도 Datetime을 사용하여, 특정 날짜를 원하는 형태로 바꾸는 방법이 있다.(How to Change Datetime Format)

 

 


 

Generate Test Datetime(now)

 

특정 datetime을 그대로 사용해도 좋지만 일단은 테스트용 now datetime을 가져오자

#여기서는 임시로 NOW()시간을 사용하자
from datetime import datetime
now_datetime=datetime.now()

 


 

연도-월-일 형태로 변경하기(결과는 string이다)

 

위의 now Datetime을 원하는 형태로 가공하여 뱉어내자 이때, 뱉어내는 값은 String형태다.

change_format_dateitme= now_datetime.strftime('%Y-%m-%d')
#결과 : 2023-01-01

만일 stfrtime('%Y%m%d')로  했다면?
#결과 : 20230101

 


 

 

시,분,초를 표현하고 싶다면??

 

참고 : 주로 사용하는 %들은 아래와 같습니다.

  연도   %Y   2023 / 2024...   연도를 그대로 보여준다.
  연도   %y   23  / 24 ....   앞 2자리(세기)를 제외한 연 번호
     %m   01 / 02 / 03 ....  11 / 12   앞자리 0을 포함한 월 번호
     %d   01 / 02 / 03 ....  30 / 31   앞자리 0을 포함한 일 번호
     %H   01 / 02/ 03 .... 23 / 24   앞자리 0을 포함한 24시간
     %M   01 / 02 / 03 .... 58 / 59   앞자리 0을 포함한 분 번호
     %S   01 / 02 / 03 / ,,,, 58 / 59   앞자리 0을 포함한 초 번호

 


 

예시) 만일  1.3.2023 형태로 만들려면??? (2023-03-01)

 

formatted_date = test.strftime("%#d.%#m.%Y") <- %#m Not working(최신버전에서는 안되는것 같다. 아래 방법을 사용하도록 하자)

from datetime import datetime

date = datetime(2023, 3, 1)
formatted_date = date.strftime("%-d.%-m.%Y")

#결과 : 1.3.2023

 

 

Python 공식 문서에서 자세히 살펴보는 것도 좋다.

https://docs.python.org/ko/3/library/datetime.html

 

datetime — Basic date and time types

Source code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attr...

docs.python.org

 

728x90
반응형