파이썬에서 문자열을 날짜 / 시간으로 변환하는 방법

Jinku Hu 2023년1월30일
  1. 문자열을 datetime 으로 변환하는 datetime.strptime()
  2. 파이썬 datetime.strptime()예제
파이썬에서 문자열을 날짜 / 시간으로 변환하는 방법

이 튜토리얼은 파이썬에서 stringdatetime 으로 변환하는 방법을 소개하고 인기있는 datetime string 형식을 다루는 예제 코드를 나열합니다.

문자열을 datetime 으로 변환하는 datetime.strptime()

이전 튜토리얼에서, 우리는 datetime.strftime()메소드를 사용하여 날짜 형식을 문자열 형식으로 얻는 방법. 우리는 datetime.strptime()메소드를 사용하여 revate 변환을 수행하여 datetime 객체를 얻습니다. 이 두 가지 방법에서 fp 는 각각 formatparse 를 의미합니다.

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)
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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 DateTime