python
이 기사에서는 문자열에서 datetime 객체를 만드는 방법을 배웁니다(예제를 통해).
strptime()
메소드는 주어진 문자열에서 datetime 객체를 생성합니다.
참고: datetime
을(를) 만들 수 없습니다. 모든 문자열의 개체. 문자열은 특정 형식이어야 합니다.
from datetime import datetime
date_string = "21 June, 2018"
print("date_string =", date_string)
print("type of date_string =", type(date_string))
date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)
print("type of date_object =", type(date_object))
프로그램을 실행하면 다음과 같이 출력됩니다.
date_string = 21 June, 2018 type of date_string = <class 'str'> date_object = 2018-06-21 00:00:00 type of date_object = <class 'datetime.datetime'><시간>
strptime()
클래스 메서드는 두 개의 인수를 사용합니다.
사용된 문자열 및 형식 코드에 따라 이 메서드는 상응하는 datetime
을 반환합니다. 개체.
위의 예에서:
여기,
%d
- 월의 일을 나타냅니다. 예: 01, 02, ..., 31%B
- 월 이름 전체. 예: 1월, 2월 등%Y
- 4자리 연도. 예: 2018년, 2019년 등
from datetime import datetime
dt_string = "12/11/2018 09:15:32"
# Considering date is in dd/mm/yyyy format
dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S")
print("dt_object1 =", dt_object1)
# Considering date is in mm/dd/yyyy format
dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S")
print("dt_object2 =", dt_object2)
프로그램을 실행하면 다음과 같이 출력됩니다.
dt_object1 = 2018-11-12 09:15:32 dt_object2 = 2018-12-11 09:15:32<시간>
아래 표는 사용할 수 있는 모든 형식 코드를 보여줍니다.
지시어 | 의미 | 예시 |
%a | 요일의 약칭. | 일, 월, ... |
%A | 요일 전체 이름. | 일요일, 월요일, ... |
%w | 10진수로 나타낸 요일 | 0, 1, ..., 6 |
%d | 0으로 채워진 십진수로 된 월의 일. | 01, 02, ..., 31 |
%-d | 십진수로 된 월의 일. | 1, 2, ..., 30 |
%b | 월의 약칭. | 1월, 2월, ..., 12월 |
%B | 전체 월 이름. | 1월, 2월, ... |
%m | 0으로 채워진 십진수로 된 월. | 01, 02, ..., 12 |
%-m | 십진수로 된 월. | 1, 2, ..., 12 |
%y | 0으로 채워진 십진수로 세기가 없는 연도. | 00, 01, ..., 99 |
%-y | 십진수로 세기가 없는 연도. | 0, 1, ..., 99 |
%Y | 십진수로 된 세기를 포함하는 연도. | 2013년, 2019년 등 |
%H | 0으로 채워진 십진수로 표시되는 시간(24시간제) | 00, 01, ..., 23 |
%-H | 시간(24시간제)을 십진수로 표시합니다. | 0, 1, ..., 23 |
%I | 0으로 채워진 십진수로 된 시간(12시간제). | 01, 02, ..., 12 |
%-I | 시(12시간제)를 십진수로 표시합니다. | 1, 2, ... 12 |
%p | 로케일의 AM 또는 PM. | 오전, 오후 |
%M | 0으로 채워진 십진수로 분. | 00, 01, ..., 59 |
%-M | 분은 십진수로 표시됩니다. | 0, 1, ..., 59 |
%S | 0으로 채워진 십진수로 두 번째. | 00, 01, ..., 59 |
%-S | 10진수로 표시한 초. | 0, 1, ..., 59 |
%f | 마이크로초는 10진수로 표시되며 왼쪽은 0으로 채워집니다. | 000000 - 999999 |
%z | +HHMM 또는 -HHMM 형식의 UTC 오프셋. | |
%Z | 시간대 이름. | |
%j | 0으로 채워진 십진수로 된 연도의 일. | 001, 002, ..., 366 |
%-j | 10진수로 표시한 일. | 1, 2, ..., 366 |
%U | 연도의 주 번호(일요일이 주의 첫 번째 요일임). 새해 첫 번째 일요일 이전의 모든 날은 0주로 간주됩니다. | 00, 01, ..., 53 |
%W | 연도의 주 번호(월요일이 주의 첫 번째 요일임). 새해 첫 월요일 이전의 모든 날은 0주에 있는 것으로 간주됩니다. | 00, 01, ..., 53 |
%c | 로케일의 적절한 날짜 및 시간 표현. | 2013년 9월 30일 월요일 07:06:05 |
%x | 로케일의 적절한 날짜 표현입니다. | 09/30/13 |
%X | 로케일의 적절한 시간 표현. | 07:06:05 |
%% | 리터럴 '%' 문자. | % |
문자열(첫 번째 인수)과 형식 코드(두 번째 인수)가 strptime()
에 전달된 경우 일치하지 않으면 ValueError
이 표시됩니다. . 예:
from datetime import datetime
date_string = "12/11/2018"
date_object = datetime.strptime(date_string, "%d %m %Y")
print("date_object =", date_object)
이 프로그램을 실행하면 오류가 발생합니다.
ValueError: time data '12/11/2018' does not match format '%d %m %Y'<시간>
권장 자료: 파이썬 strftime()
python
파이썬 strftime() 이 문서에서는 날짜, 시간 및 날짜/시간 개체를 해당 문자열로 변환하는 방법을 배웁니다(예제를 통해) 동영상:Python의 날짜 및 시간 strftime() 메서드는 날짜, 시간 또는 날짜/시간 개체를 사용하여 날짜 및 시간을 나타내는 문자열을 반환합니다. 예제 1:strftime()을 사용하여 날짜/시간을 문자열로 아래 프로그램은 datetime를 변환합니다. 현재 날짜와 시간을 포함하는 개체를 다른 문자열 형식으로 변환합니다. from datetime import datetime now
놓치신 경우:Python 2는 2020년 1월 1일부로 공식적으로 지원되지 않음 . 아직 Python 2.7을 사용 중이라면 지금 업그레이드하세요. . 실행 중인 버전이 확실하지 않은 경우 Python 버전을 확인하세요. 많은 패키지 유지 관리자가 Python 3으로 마이그레이션했습니다. 일부는 여전히 Python 2를 지원하고 다른 일부는 이미 Python 2 지원을 중단했습니다. Python 2 코드 기반에서 마이그레이션해야 하는 경우 Python 코드를 Python 3으로 마이그레이션하는 방법에 대한 가이드를 읽어보세요.