strptime() är en annan metod tillgänglig i DateTime som används för att formatera tidsstämpeln som är i strängformat till date-time-objekt.
Syntax : datetime.strptime(time_data, format_data)
Parameter:
- time_data är tiden som finns i strängformat
- format_data är data som finns i datetime-format som konverteras från time_data med denna funktion.
Hur strptime() fungerar?
Den här funktionen tar två argument, en sträng där en viss tid ges och en formatkod, för att ändra strängen till, strängen ändras till DateTime-objektet enligt listan med koder nedan.
Formatera koder
formatera kod | menande | exempel |
---|---|---|
%a | Förkortat veckodagsnamn | Sol, min |
%A | Fullständigt veckodagsnamn | Söndag måndag |
%I | Veckodag som decimaltal | 0…6 |
%d | Dag i månaden som en noll vadderad decimal | 01, 02 |
%-d | dag i månaden som decimaltal | 1, 2.. |
%b | Förkortat månadsnamn | Jan, feb |
%m | månad som ett utfyllt decimaltal med noll | 01, 02 |
%-m | månad som ett decimaltal | 1, 2 |
%B | Hela månadens namn | Januari februari |
%och | år utan sekel som ett noll vadderat decimaltal | 99,00 |
%-och | år utan sekel som decimaltal | 0,99 |
%OCH | år med sekel som decimaltal | 2000, 1999 |
%H | timme (24 timmars klocka) som ett vadderat decimaltal med noll | 01, 23 |
%-H | timme (24 timmars klocka) som ett decimaltal | 1, 23 |
%I | timme (12 timmars klocka) som ett vadderat decimaltal med noll | 01, 12 |
%-I | timme (12 timmars klocka) som ett decimaltal | 1, 12 |
%p | lokalens AM eller PM | AM PM |
%M | Minute som ett utfyllt decimaltal med noll | 01, 59 |
%-M | Minute som ett decimaltal | 1, 59 |
%S | Andra som ett utfyllt decimaltal med noll | 01, 59 |
%-S | Andra som ett decimaltal | 1, 59 |
%f | mikrosekund som ett decimaltal, noll vadderad på vänster sida | 000000, 999999 |
%Med | UTC-offset i formen +TTMM eller -TTMM | |
%MED | Tidszonens namn | |
%j | dag på året som ett utfyllt decimaltal | 001, 365 |
%-j | dag på året som ett decimaltal | 1, 365 |
%I | Årets veckonummer (söndagen är den första) | 0, 6 |
%I | Årets veckonummer | 00, 53 |
%c | lokalens lämpliga datum- och tidsrepresentation | mån 30 september 07:06:05 2013 |
%x | lokalens lämpliga datumrepresentation | 30/11/98 |
%X | lokalens lämpliga tidsrepresentation | 10:03:43 |
%% | Ett bokstavligt '%'-tecken | % |
Exempel 1: Python-program för att läsa datetime och få all tidsdata med strptime. Här kommer vi att ta tidsdata i strängformatet och kommer att extrahera timmar, minuter, sekunder och millisekunder
Python3
# 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)> |
>
>
Produktion:
523 000
2
35
5
1999-05-25 02:35:05.523000
Exempel 2: Python-kod som använder strptime. Här ska vi ta tidsdata i strängformatet och extrahera tidsstämpeln i %d/%m/%y %H:%M:%S.%f-format.
Python3
# 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))> |
>
>
Produktion:
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
vi kan få tiden som följer en struktur med alla datum genom att använda strptime() själv.
Syntax :
time.strptime(Timestamp, '%d/%m/%y %H:%M:%S')
där Tidsstämpel inkluderar tid och datum
Exempel : Python-kod för att få tid i struktur:
Python3
#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'> ))> |
avl trädrotation
>
>
Produktion:
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)
Det är också möjligt att få strängen datetime i yyyy-mm-dd datetime-format. åååå-mm-dd står för år-månad-dag. Vi kan konvertera strängformat till DateTime genom att använda strptime()-funktionen. Vi kommer att använda '%Y/%m/%d'-formatet för att få strängen till datetime.
Syntax: datetime.datetime.strptime(input,format)
Parameter:
- input är strängen datetime
- format är formatet – 'åååå-mm-dd'
- datetime är modulen
För detta först importeras modulen och indatasträngen DateTime ges. Använd nu strptime för att få önskat format och hämta datumet från DateTime med date()-funktionen
Exempel 1 : Python-program för att konvertera sträng datetime-format till datetime
Python3
# 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())> |
>
>
Produktion:
2021-05-25
Exempel 2: Konvertera lista över sträng datetime till datetime
Python3
# 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())> |
>
>
Produktion:
2021-05-25
2020-05-25
2019-02-15
1999-02-04
Vi kan också visa DateTime i %d/%m/%Y %H:%M:%S Formatera. För detta kommer vi att få data i formatet datum-månad-år timmar:minuter;sekunder. Så vi måste ta in datetime-strängen och få det här formatet
Syntax: datetime.strptime(input_date, %d/%m/%Y %H:%M:%S)
Parameter:
- datetime är modulen
- input_date är strängens datetime-format
- strptime används för att konvertera input_date-strängen till datetime
Exempel 3: Python-program för att hämta strängen datetime till %d/%m/%Y %H:%M:%S-format
Python3
#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)> |
>
>
Produktion:
2021-05-25 02:35:15