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
728x90
반응형