문자열 시간() 문자열 형식의 타임스탬프를 날짜-시간 개체로 형식화하는 데 사용되는 DateTime에서 사용할 수 있는 또 다른 방법입니다.
통사론 : datetime.strptime(time_data, format_data)
매개변수:
- time_data는 문자열 형식으로 존재하는 시간입니다.
- format_data는 이 함수를 사용하여 time_data에서 변환된 날짜/시간 형식으로 존재하는 데이터입니다.
strptime()은 어떻게 작동하나요?
이 함수는 시간이 지정된 문자열과 형식 코드라는 두 개의 인수를 사용하여 문자열을 변경합니다. 문자열은 아래 제공된 코드 목록에 따라 DateTime 객체로 변경됩니다.
형식 코드
형식 코드 | 의미 | 예 |
---|---|---|
%ㅏ | 축약된 요일 이름 | 태양, 나의 |
%ㅏ | 전체 요일 이름 | 일요일 월요일 |
%안에 | 평일을 십진수로 표시 | 0…6 |
%디 | 제로 패딩된 십진수로 표시된 날짜 | 01, 02 |
%-디 | 월의 일을 십진수로 표시 | 1, 2.. |
%비 | 약식 월 이름 | 1월, 2월 |
%중 | 0으로 채워진 십진수로 된 월 | 01, 02 |
%-중 | 월을 십진수로 표시 | 1, 2 |
%비 | 전체 월 이름 | 1월, 2월 |
%그리고 | 세기가 없는 연도를 제로 패딩된 십진수로 표현 | 99.00 |
%-그리고 | 세기를 제외한 연도를 십진수로 표현 | 0.99 |
%그리고 | 십진수로 세기를 포함한 연도 | 2000년, 1999년 |
%시간 | 시간(24시간제)을 제로 패딩된 십진수로 표현 | 01, 23 |
%-시간 | 시간(24시간제)을 십진수로 표시 | 1, 23 |
%나 | 시(12시간제)를 제로 패딩된 십진수로 표현 | 01, 12 |
%-나 | 시(12시간제)를 십진수로 표시 | 1, 12 |
%피 | 로케일의 AM 또는 PM | 오전 오후 |
%중 | 제로 패딩된 십진수 형태의 분 | 01, 59 |
%-중 | 십진수로 표현된 분 | 1, 59 |
%에스 | 두 번째는 제로 패딩된 십진수입니다. | 01, 59 |
%-에스 | 초를 십진수로 표현 | 1, 59 |
%에프 | 십진수로 마이크로초, 왼쪽에 0 패딩됨 | 000000, 999999 |
%와 함께 | +HHMM 또는 -HHMM 형식의 UTC 오프셋 | |
%와 함께 | 시간대 이름 | |
%제이 | 올해의 일을 0으로 채워진 십진수로 표현 | 001, 365 |
%-제이 | 올해의 일을 십진수로 표시 | 1, 365 |
%안에 | 해당 연도의 주 수(일요일이 첫 번째임) | 0, 6 |
%안에 | 올해의 주 수 | 00, 53 |
%씨 | 로케일의 적절한 날짜 및 시간 표현 | 2013년 9월 30일 월요일 07:06:05 |
%엑스 | 로케일의 적절한 날짜 표현 | 98년 11월 30일 |
%엑스 | 로케일의 적절한 시간 표현 | 10:03:43 |
%% | 리터럴 '%' 문자 | % |
예시 1: 날짜/시간을 읽고 strptime을 사용하여 모든 시간 데이터를 가져오는 Python 프로그램입니다. 여기서는 문자열 형식의 시간 데이터를 가져와 시, 분, 초, 밀리초를 추출하겠습니다.
파이썬3
# import datetime module from datetime> from> datetime> import> datetime> # consider the time stamp in string format> # DD/MM/YY H:M:S.micros> time_data> => '25/05/99 02:35:5.523'> # format the string in the given format :> # day/month/year hours/minutes/seconds-micro> # seconds> format_data> => '%d/%m/%y %H:%M:%S.%f'> # Using strptime with datetime we will format> # string into datetime> date> => datetime.strptime(time_data, format_data)> # display milli second> print> (date.microsecond)> # display hour> print> (date.hour)> # display minute> print> (date.minute)> # display second> print> (date.second)> # display date> print> (date)> |
>
쉐타 티와리 배우
>
산출:
523000
2
35
5
1999-05-25 02:35:05.523000
예시 2: strptime을 사용하는 Python 코드입니다. 여기서는 문자열 형식의 시간 데이터를 가져와 %d/%m/%y %H:%M:%S.%f 형식의 타임스탬프를 추출하겠습니다.
파이썬3
# import datetime module from datetime> from> datetime> import> datetime> # consider the time stamps from a list in string> # format DD/MM/YY H:M:S.micros> time_data> => [> '25/05/99 02:35:8.023'> ,> '26/05/99 12:45:0.003'> ,> > '27/05/99 07:35:5.523'> ,> '28/05/99 05:15:55.523'> ]> # format the string in the given format : day/month/year> # hours/minutes/seconds-micro seconds> format_data> => '%d/%m/%y %H:%M:%S.%f'> # Using strptime with datetime we will format string> # into datetime> for> i> in> time_data:> > print> (datetime.strptime(i, format_data))> |
>
>
산출:
1999-05-25 02:35:08.023000
1999-05-26 12:45:00.003000
1999-05-27 07:35:05.523000
1999-05-28 05:15:55.523000
strptime() 자체를 사용하면 모든 날짜의 구조를 따르는 시간을 얻을 수 있습니다.
통사론 :
time.strptime(타임스탬프, '%d/%m/%y %H:%M:%S')
여기서 타임스탬프에는 시간과 날짜가 포함됩니다.
예 : 구조에서 시간을 얻는 Python 코드:
파이썬3
#import time> import> time> # get data of 4 th april 2021 at time 9 pm> print> (time.strptime(> '04/04/21 09:31:22'> ,> '%d/%m/%y %H:%M:%S'> ))> # get data of 5 th april 2021 at time 9 pm> print> (time.strptime(> '05/04/21 09:00:42'> ,> '%d/%m/%y %H:%M:%S'> ))> # get data of 6 th april 2021 at time 9 pm> print> (time.strptime(> '06/04/21 09:11:42'> ,> '%d/%m/%y %H:%M:%S'> ))> # get data of 7 th april 2021 at time 9 pm> print> (time.strptime(> '07/04/21 09:41:12'> ,> '%d/%m/%y %H:%M:%S'> ))> |
>
>
산출:
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=4, tm_hour=9, tm_min=31, tm_sec=22, tm_wday=6, tm_yday=94, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=5, tm_hour=9, tm_min=0, tm_sec=42, tm_wday=0, tm_yday=95, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=6, tm_hour=9, tm_min=11, tm_sec=42, tm_wday=1, tm_yday=96, tm_isdst=-1)
time.struct_time(tm_year=2021, tm_mon=4, tm_mday=7, tm_hour=9, tm_min=41, tm_sec=12, tm_wday=2, tm_yday=97, tm_isdst=-1)
yyyy-mm-dd 날짜/시간 형식으로 문자열 날짜/시간을 가져올 수도 있습니다. yyyy-mm-dd는 연월일을 나타냅니다. strptime() 함수를 사용하여 문자열 형식을 DateTime으로 변환할 수 있습니다. 문자열을 날짜/시간으로 가져오기 위해 '%Y/%m/%d' 형식을 사용합니다.
통사론: datetime.datetime.strptime(입력,형식)
매개변수:
- 입력은 날짜/시간 문자열입니다.
- 형식은 'yyyy-mm-dd' 형식입니다.
- datetime은 모듈입니다
이를 위해 먼저 모듈을 가져오고 입력 DateTime 문자열이 제공됩니다. 이제 strptime을 사용하여 필요한 형식을 얻고 date() 함수를 사용하여 DateTime에서 날짜를 가져옵니다.
실시예 1 : 문자열 날짜/시간 형식을 날짜/시간으로 변환하는 Python 프로그램
파이썬3
# import the datetime module> import> datetime> # datetime in string format for may 25 1999> input> => '2021/05/25'> # format> format> => '%Y/%m/%d'> # convert from string format to datetime format> datetime> => datetime.datetime.strptime(> input> ,> format> )> # get the date from the datetime using date()> # function> print> (datetime.date())> |
>
>
산출:
2021-05-25
예시 2: 문자열 날짜/시간 목록을 날짜/시간으로 변환
파이썬3
# import the datetime module> import> datetime> # datetime in string format for list of dates> input> => [> '2021/05/25'> ,> '2020/05/25'> ,> '2019/02/15'> ,> '1999/02/4'> ]> # format> format> => '%Y/%m/%d'> for> i> in> input> :> > > # convert from string format to datetime format> > # and get the date> > print> (datetime.datetime.strptime(i,> format> ).date())> |
>
>
산출:
2021-05-25
2020-05-25
2019-02-15
1999-02-04
DateTime을 다음과 같이 표시할 수도 있습니다. %d/%m/%Y %H:%M:%S 체재. 이를 위해 날짜-월-년 시:분,초 형식으로 데이터를 가져옵니다. 따라서 우리는 입력 날짜/시간 문자열을 가져와서 다음 형식을 얻어야 합니다.
통사론: datetime.strptime(input_date, %d/%m/%Y %H:%M:%S)
매개변수:
- datetime은 모듈입니다
- input_date는 문자열 날짜/시간 형식입니다.
- strptime은 input_date 문자열을 datetime으로 변환하는 데 사용됩니다.
예시 3: 문자열 datetime을 %d/%m/%Y %H:%M:%S 형식으로 가져오는 Python 프로그램
파이썬3
#import datetime> from> datetime> import> datetime> # consider the datetime string in dd/mm/yyyy> # hh:mm:ss format> date> => '25/05/2021 02:35:15'> # convert string datetime to dd/mm/yyyy hh:mm:ss> # format> datetime_date> => datetime.strptime(date,> '%d/%m/%Y %H:%M:%S'> )> print> (datetime_date)> |
>
>
산출:
2021-05-25 02:35:15