파이썬에서 문자열을 날짜 / 시간으로 변환하는 방법
이 튜토리얼은 파이썬에서 string
을 datetime
으로 변환하는 방법을 소개하고 인기있는 datetime
string
형식을 다루는 예제 코드를 나열합니다.
문자열을 datetime 으로 변환하는 datetime.strptime()
이전 튜토리얼에서, 우리는 datetime.strftime()
메소드를 사용하여 날짜 형식을 문자열 형식으로 얻는 방법. 우리는 datetime.strptime()
메소드를 사용하여 revate 변환을 수행하여 datetime
객체를 얻습니다. 이 두 가지 방법에서 f
와 p
는 각각 format
과 parse
를 의미합니다.
datetime.strptime()
메소드는 주어진 datetime
형식으로 입력 문자열을 파싱하고 datetime
객체를 반환합니다.
이 strptime()
메소드를 사용하는 기본 예제는 다음과 같습니다.
from datetime import datetime
datetime.strptime("2018-01-31", "%Y-%m-%d")
결과는
datetime.datetime(2018, 1, 31, 0, 0)
문자열 형식 코드의 지시문은 참조 용으로 여기에 나열되어 있습니다.
지령 | 의미 | 예 |
---|---|---|
%a |
로케일의 약칭으로 평일. | 일요일, 월,…, 토 (en_US); 따라서 Mo,…, Sa (de_DE) |
%A |
로케일의 전체 이름으로 평일. | 일요일, 월요일,…, 토요일 (en_US); Sonntag, Montag,…, Samstag (de_DE) |
%w |
평일을 10 진수로 표시합니다. 여기서 0은 일요일이고 6은 토요일입니다. | 0, 1,…, 6 |
%d |
0으로 채워진 10 진수로 표시되는 요일입니다. | 01, 02,…, 31 |
%b |
로캘의 약식 이름 인 월입니다. | 1 월, 2 월,…, 12 월 (en_US); 1 월, 2 월,…, Dez (de_DE) |
%B |
로케일의 전체 이름으로 월. | 1 월, 2 월,…, 12 월 (en_US); 1 월, 2 월,…, Dezember (de_DE) |
%m |
0으로 채워진 10 진수로 된 월입니다. | 01, 02,…, 12 |
%y |
세기가없는 연도는 0으로 채워진 10 진수입니다. | 00, 01,…, 99 |
%Y |
십진수로 세기를 가진 년. | 0001, 0002,…, 2013, 2014,…, 9998, 9999 |
%H |
0으로 채워진 10 진수로 표시되는 시간 (24 시간제)입니다. | 00, 01,…, 23 |
%I |
0으로 채워진 10 진수로 표시되는 시간 (12 시간제)입니다. | 01, 02,…, 12 |
%p |
로케일은 AM 또는 PM 에 해당합니다. | 오전, 오후 (en_US), 오전, 오후 (de_DE) |
%M |
0으로 채워진 10 진수로 분. | 00, 01,…, 59 |
%S |
0은 0으로 채워진 10 진수입니다. | 00, 01,…, 59 |
%f |
왼쪽에 0으로 채워진 10 진수의 마이크로 초입니다. | 000000, 000001,…, 999999 |
%z |
± HHMM [SS] 형식의 UTC 오프셋 (객체가 순진한 경우 빈 문자열). | (빈), +0000, -0400, +1030 |
%Z |
시간대 이름 (객체가 순진한 경우 빈 문자열). | (빈), UTC, EST, CST |
%j |
0으로 채워진 10 진수로 표시되는 연도입니다. | 001, 002,…, 366 |
%U |
0으로 채워진 10 진수로 표시되는 연중 주 번호 (일요일의 첫 번째 요일)입니다. 첫 번째 일요일 이전의 새해의 모든 날은 0 주로 간주됩니다. | 00, 01,…, 53 |
%W |
연도의 주 번호 (월요일의 첫 번째 요일)를 10 진수로 나타냅니다. 첫 번째 월요일 이전의 새해의 모든 날은 0 주로 간주됩니다. | 00, 01,…, 53 |
%c |
로케일의 적절한 날짜 및 시간 표현 | 화요일 1988 년 8 월 16 일 21:30:00 (en_US); 1988 년 8 월 16 일 21:30:00 (de_DE) |
%x |
로케일의 적절한 날짜 표현. | 08/16/88 (없음); 08/16/1988 (ko_KR); 16.08.1988 (de_DE) |
%X |
로케일의 적절한 시간 표현. | 21:30:00 (ko_KR); 21 : 30 : 00 (de_DE) |
%% |
리터럴 '%' 문자. |
% |
파이썬 datetime.strptime()
예제
7-May-2013
datetime
형식
from datetime import datetime
dateString = "7-May-2018"
dateFormatter = "%u-%b-%Y"
datetime.strptime(dateString, dateFormatter)
출력:
datetime.datetime(2013, 5, 1, 0, 0)
31/12/2018
datetime
형식
from datetime import datetime
dateString = "31/12/2013"
dateFormatter = "%d/%m/%Y"
datetime.strptime(dateString, dateFormatter)
출력:
datetime.datetime(2013, 12, 31, 0, 0)
Mon, July 16 2018
datetime
형식
from datetime import datetime
dateString = "31/12/2013"
dateFormatter = "%d/%m/%Y"
datetime.strptime(dateString, dateFormatter)
출력:
datetime.datetime(2018, 7, 16, 0, 0)
Monday, July 16, 2018 20:01:56
datetime
형식
from datetime import datetime
dateString = "Monday, July 16, 2018 20:01:56"
dateFormatter = "%A, %B %d, %Y %H:%M:%S"
datetime.strptime(dateString, dateFormatter)
출력:
datetime.datetime(2018, 7, 16, 20, 1, 56)
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook관련 문장 - Python String
- Python의 문자열에서 쉼표 제거
- Python에서 문자열을 변수 이름으로 변환
- 파이썬에서 문자열에서 공백을 제거하는 방법
- Python의 문자열에서 숫자 추출
- 파이썬 2와 3에서 문자열을 소문자로 변환하는 방법