logo

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:

výjimka hodit java
  • 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