from datetime import datetime
date = '2022-05-26'
date_time = datetime.strptime(date, "%Y-%m-%d")
only_date = date_time.date()
print(only_date)
print(type(only_date))
1) strptime
- datetime.datetime.strptime을 사용하면 문자열 객체를 날짜와 관련된 자료형(datetime, date)으로 변환할 수 있다
- datetime.strptime(date_string: str, format: str) -> datetime
- date_string : 문자열로 저장된 날짜 정보
- format : 입력된 문자열 date_string을 어떻게 읽을지(파싱할지) 알려준다
- format에서 사용하는 날짜 포맷에는 여러가지가 있는데 그 중 제일 많이 사용하는 연도, 월, 일, 시간은 다음과 같다
날짜 포맷 | 의미 | ex |
%Y | 전체 년도 | 2020, 2021, 2022, ... |
%y | 두 자리로 표현된 년도 | 00, 01, ..., 98, 99 |
%m | 0으로 패딩된 월 | 01, 02, ..., 11, 12 |
%d | 0으로 패딩된 일 | 01, 02, ..., 30, 31 |
%H | 0으로 패딩된 시간 | 00, 01, ..., 23 |
%M | 0으로 패딩된 분 | 00, 01, ..., 59 |
%S | 0으로 패딩된 초 | 00, 01, ..., 59 |
- 이외에도 필요에 따라 요일, 영어로 표현된 월이름, 오전/오후나 타임존 등 시간과 관련된 날짜 포맷을 사용가능
왼쪽 메뉴에서 "strftime()과 strptime() 포맷코드" 항목을 누르면 관련된 날짜 포맷을 모두 확인할 수 있다
2) 기본 동작
from datetime import datetime
date1 = '20220526151314'
date2 = '2022-05-26 15:13:15'
date3 = '2022/05/26 15_13_16'
print(datetime.strptime(date1, "%Y%m%d%H%M%S"))
print(datetime.strptime(date2, "%Y-%m-%d %H:%M:%S"))
print(datetime.strptime(date3, "%Y/%m/%d %H_%M_%S"))
반환결과인 datetime은 입력값으로 받은 문자열의 포맷과는 상관없이 YYYY-MM-DD HH:MM:SS 형식을 갖는다
문자열처럼 보이지만 해당 결과는 datetime이므로 슬라이싱이나 문자열이 갖는 메소드는 사용 불가능하다
3) 시간을 제외한 날짜만 추출
from datetime import datetime
date = '2022-05-26'
date_time = datetime.strptime(date, "%Y-%m-%d")
print(date_time)
print(type(date_time))
날짜 정보만 갖고 있는 문자열에 대해 strptime 메소드를 사용하면 별도로 포맷을 정의하지 않아도 뒤에 00:00:00 이라는 시간이 붙게 된다. strptime은 datetime을 반환하기 때문에 이렇게 반환하는데 datetime.date() 메소드를 이용해 날짜 정보만 얻을 수 있다.
from datetime import datetime
date = '2022-05-26'
date_time = datetime.strptime(date, "%Y-%m-%d")
only_date = date_time.date()
print(only_date)
print(type(only_date))
'Python > Syntax' 카테고리의 다른 글
[JupyterNoteBook] 다른 주피터 노트북으로 셀을 복사 (0) | 2022.06.08 |
---|---|
[Pandas] DataFrame 열 순서 변경 (0) | 2022.06.08 |
[Python] 논리 연산자와 Bitwise 연산자 차이점 (0) | 2022.03.16 |
[Python] Bitwise 연산자를 이용한 홀/짝 판단 (0) | 2022.03.16 |
[Pandas] DataFrame - 2 (행/열 추가, 값 선택/변경, 전치) (1) | 2022.01.10 |