Python DateTime – funkce strptime().

strptime() je další metoda dostupná v DateTime, která se používá k formátování časového razítka, které je ve formátu řetězce na objekt datum-čas.

Syntax : datetime.strptime(time_data, format_data)

Parametr:

  • time_data je čas přítomný ve formátu řetězce
  • format_data jsou data ve formátu datetime, která jsou převedena z time_data pomocí této funkce.

Jak funguje strptime()?

Tato funkce vyžaduje dva argumenty, řetězec, ve kterém je uveden určitý čas, a kód formátu, aby se řetězec změnil, řetězec se změní na objekt DateTime podle seznamu kódů uvedených níže.

Formátovat kódy

formátovací kód význam příklad
%A Zkrácený název dne v týdnu Slunce, můj
%A Celý název dne v týdnu Neděle pondělí
%V Den v týdnu jako desetinné číslo 0…6
%d Den v měsíci jako desetinné místo s nulou 01, 02
%-d den v měsíci jako desetinné číslo 1, 2..
%b Zkrácený název měsíce Jan, únor
% m měsíc jako desetinné číslo vyplněné nulou 01, 02
%-m měsíc jako desetinné číslo 1, 2
%B Název celého měsíce Leden únor
%a rok bez století jako nulové desetinné číslo 99,00
%-a rok bez století jako desetinné číslo 0,99
%A rok se stoletím jako desetinným číslem 2000, 1999
%H hodinu (24hodinový formát) jako desetinné číslo vyplněné nulou 01, 23
%-H hodinu (24 hodin) jako desetinné číslo 1, 23
%I hodinu (12 hodin) jako desetinné číslo vyplněné nulou 01, 12
%-I hodinu (12 hodin) jako desetinné číslo 1, 12
%p místního AM nebo PM DOPOLEDNE ODPOLEDNE
%M Minuta jako desetinné číslo doplněné nulou 01, 59
%-M Minuta jako desetinné číslo 1, 59
%S Za druhé jako nulou vyplněné desetinné číslo 01, 59
%-S Druhé jako desetinné číslo 1, 59
%F mikrosekundu jako desetinné číslo, na levé straně doplněno nulou 000000, 999999
%S Posun UTC ve tvaru +HHMM nebo -HHMM
%S Název časového pásma
%j den v roce jako desetinné číslo vyplněné nulou 001, 365
%-j den v roce jako desetinné číslo 1,365
%V Číslo týdne v roce (neděle je první) 0, 6
%V Číslo týdne v roce 00, 53
%C odpovídající reprezentaci data a času národního prostředí Po 30. září 07:06:05 2013
%X reprezentace příslušného data národního prostředí 30. 11. 98
%X vhodnou časovou reprezentaci lokality 10:03:43
%% Doslovný znak „%“. %

Příklad 1: Python program pro čtení datetime a získání všech časových dat pomocí strptime. Zde vezmeme časová data ve formátu řetězce a budeme extrahovat hodiny, minuty, sekundy a milisekundy

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)>

Výstup:

523 000

2

35

5

1999-05-25 02:35:05.523000

Příklad 2: Python kód, který používá strptime. Zde vezmeme časová data ve formátu řetězce a extrahujeme časovou značku ve formátu %d/%m/%y %H:%M:%S.%f.

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))>

Výstup:

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

můžeme získat čas, který následuje po struktuře se všemi daty, pomocí samotné strptime().

Syntax :

time.strptime(Časové razítko, ‘%d/%m/%y %H:%M:%S’)

kde Časové razítko obsahuje čas a datum

Příklad : Kód Pythonu pro získání času ve struktuře:

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'> ))>

Výstup:

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)

Je také možné získat řetězec datetime ve formátu yyyy-mm-dd datetime. yyyy-mm-dd znamená rok-měsíc-den. Formát řetězce můžeme převést na DateTime pomocí funkce strptime(). Použijeme formát ‚%Y/%m/%d‘, abychom dostali řetězec na datum a čas.

Syntax: datetime.datetime.strptime(vstup,formát)

Parametr:

  • vstup je řetězec datetime
  • formát je formát – „yyyy-mm-dd“
  • datetime je modul

Nejprve se naimportuje modul a zadá se vstupní řetězec DateTime. Nyní použijte strptime k získání požadovaného formátu a získání data z DateTime pomocí funkce date().

Příklad 1 : Program Python pro převod formátu řetězce datetime na 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())>

Výstup:

2021-05-25

Příklad 2: Převést seznam řetězce datetime na 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())>

Výstup:

2021-05-25

2020-05-25

2019-02-15

1999-02-04

Můžeme také zobrazit DateTime v %d/%m/%Y %H:%M:%S Formát. Za tímto účelem získáme data ve formátu datum-měsíc-rok hodiny:minuty;sekundy. Musíme tedy vzít vstupní řetězec datetime a získat tento formát

Syntax: datetime.strptime(vstupní_datum, %d/%m/%Y %H:%M:%S)

Parametr:

  • datetime je modul
  • input_date je formát řetězce datum a čas
  • strptime se používá k převodu řetězce input_date na datum a čas

Příklad 3: Program Python pro získání řetězce datetime do formátu %d/%m/%Y %H:%M:%S

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)>

Výstup:

25.05.2021 02:35:15