만약 4/21/2021이라는 문자열을 April 21, 2021 또는 2021-04-21로 변환하고 싶다면 어떻게 해야할까요? 여러가지 방법이 있겠지만, 저는 datetime 모듈을 활용해서 해결해보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import datetime
date = '4/21/2021'
print(type(date), date)
date_temp = datetime.datetime.strptime(date, "%m/%d/%Y")
print(type(date_temp), date_temp)
date1 = date_temp.strftime("%Y-%m-%d")
print(type(date1), date1)
date2 = date_temp.strftime("%B %d, %Y")
print(type(date2), date2)
|
cs |
위 코드를 실행하면 다음과 같은 결과가 출력됩니다. 이해를 돕기 위해 데이터의 타입도 함께 출력되게 했습니다.
위 예제에서 중요한 함수는 두 개입니다. 하나는 strptime() 메소드이고, 또 다른 하나는 strftime() 메소드입니다.
strptime 메소드
strptime()의 역할은 문자열의 각 위치가 날짜 및 시간 정보 중 무엇을 의미하는지 알려줍니다.
"4/21/2021에서 4는 월, 21은 일, 2021은 연도 정보야."
strftime 메소드
strftime()의 역할은 datetime 객체를 원하는 형식(format)의 문자열로 표현해줍니다.
"이제 년, 월, 일이 뭔지 알았지? 날짜를 %Y-%m-%d 형식 또는 %B %d, %Y로 표현해줘."
%Y, %m, %d, %B 등을 포맷 코드라고 부르는데 각각 다음의 의미를 갖습니다. 1988년 2월 11일을 예로 들어 설명하겠습니다.
%Y - 연도 1988
%y - 연도 88
%B - 월 February
%b - 월 Feb
%m - 월 02
%d - 일 11
포맷 코드에 대한 자세한 내용은 아래 링크 건 포스팅을 참고하세요.
'Dev > python' 카테고리의 다른 글
[python] join 함수로 리스트의 요소들 하나의 문자열로 합치기 (0) | 2021.05.08 |
---|---|
[python] 딕셔너리 객체의 setdefault() 메소드 사용법 (0) | 2021.04.29 |
[python] 딕셔너리 객체의 get() 메소드 사용법 (4) | 2021.04.28 |
[python+pandas] pandas로 엑셀 파일 읽고 수정한 후 쓰기 (0) | 2021.04.26 |
[python] selenium 크롤링 중 크롬 드라이버의 창 크기 조절하기 (2) | 2021.04.22 |
[python] selenium으로 크롤링하는 중에 click() 안 먹힐 때 (3) | 2021.04.21 |
[pandas] dataframe 모든 열 또는 행이 안 보일 때 대처 방법 (0) | 2021.04.20 |
[python] 리스트의 중복된 요소들 중에 고유한 요소들을 알고 싶다면, numpy.unique() (0) | 2021.04.19 |