strptime() to kolejna metoda dostępna w DateTime, która służy do formatowania znacznika czasu w formacie ciągu do obiektu daty i godziny.
Składnia : datetime.strptime(data_czasu, dane_formatu)
Parametr:
- time_data to czas w formacie ciągu
- format_data to dane w formacie datetime, które są konwertowane z time_data za pomocą tej funkcji.
Jak działa strptime()?
Funkcja ta pobiera dwa argumenty, ciąg znaków, w którym podany jest czas oraz kod formatu, aby zmienić ciąg znaków, ciąg znaków jest zamieniany na obiekt DateTime zgodnie z listą kodów podaną poniżej.
Sformatuj kody
kod formatu | oznaczający | przykład |
---|---|---|
%A | Skrócona nazwa dnia tygodnia | Słońce, mój |
%A | Pełna nazwa dnia tygodnia | Niedziela poniedziałek |
%w | Dzień tygodnia jako liczba dziesiętna | 0…6 |
%D | Dzień miesiąca jako ułamek dziesiętny uzupełniony zerami | 01, 02 |
%-D | dzień miesiąca w postaci liczby dziesiętnej | 1, 2.. |
%B | Skrócona nazwa miesiąca | styczeń, luty |
%M | miesiąc jako liczba dziesiętna z dopełnieniem zera | 01, 02 |
%-M | miesiąc w postaci liczby dziesiętnej | 1, 2 |
%B | Pełna nazwa miesiąca | Styczeń luty |
%I | rok bez stulecia jako liczba dziesiętna z dopełnieniem zera | 99,00 |
%-I | rok bez wieku jako liczba dziesiętna | 0,99 |
%I | rok ze stuleciem jako liczbą dziesiętną | 2000, 1999 |
%H | godzina (zegar 24-godzinny) jako liczba dziesiętna wypełniona zerami | 01, 23 |
%-H | godzina (zegar 24-godzinny) jako liczba dziesiętna | 1, 23 |
%I | godzina (zegar 12-godzinny) jako liczba dziesiętna wypełniona zerami | 01, 12 |
%-I | godzina (zegar 12-godzinny) jako liczba dziesiętna | 1, 12 |
%P | regionalny AM lub PM | AM, PM |
%M | Minuta jako liczba dziesiętna z dopełnieniem zera | 01, 59 |
%-M | Minuta jako liczba dziesiętna | 1, 59 |
%S | Druga jako liczba dziesiętna z dopełnieniem zera | 01, 59 |
%-S | Druga jako liczba dziesiętna | 1, 59 |
%F | mikrosekunda jako liczba dziesiętna, z dopełnieniem zera po lewej stronie | 000000, 999999 |
%z | Przesunięcie UTC w postaci +GGMM lub -HHMM | |
%Z | Nazwa strefy czasowej | |
%J | dzień roku jako liczba dziesiętna uzupełniona zerami | 001, 365 |
%-J | dzień roku w postaci liczby dziesiętnej | 1, 365 |
%W | Numer tygodnia w roku (niedziela jest pierwszą) | 0, 6 |
%W | Numer tygodnia w roku | 00, 53 |
%C | odpowiednia reprezentacja daty i godziny w ustawieniach regionalnych | pon. 30 września 07:06:05 2013 |
%X | odpowiednia reprezentacja daty w ustawieniach regionalnych | 30.11.98 |
%X | odpowiednia reprezentacja czasu w ustawieniach regionalnych | 10:03:43 |
%% | Dosłowny znak „%”. | % |
Przykład 1: Program w Pythonie do odczytu daty i godziny i uzyskania wszystkich danych czasu za pomocą strptime. Tutaj weźmiemy dane dotyczące czasu w formacie ciągu i wyodrębnimy godziny, minuty, sekundy i 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)> |
tablica Java do wyświetlenia
>
>
Wyjście:
523000
2
35
5
25.05.1999 02:35:05.523000
Przykład 2: Kod Pythona używający strptime. Tutaj weźmiemy dane dotyczące czasu w formacie ciągu znaków i wyodrębnimy znacznik czasu w formacie %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))> |
>
>
Wyjście:
25.05.1999 02:35:08.023000
26.05.1999 12:45:00.003000
27.05.1999 07:35:05.523000
28.05.1999 05:15:55.523000
możemy uzyskać czas zgodny ze strukturą ze wszystkimi datami, używając samej funkcji strptime().
Składnia :
time.strptime(znacznik czasu, „%d/%m/%y %H:%M:%S”)
gdzie Timestamp zawiera godzinę i datę
Przykład : Kod Pythona, aby uzyskać strukturę czasu:
Python3
strony z filmami podobne do 123movies
#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'> ))> |
>
>
Wyjście:
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)
Możliwe jest również uzyskanie ciągu znaków datetime w formacie datetime rrrr-mm-dd. rrrr-mm-dd oznacza rok-miesiąc-dzień. Możemy przekonwertować format ciągu na format DateTime za pomocą funkcji strptime(). Użyjemy formatu „%Y/%m/%d”, aby uzyskać ciąg znaków w formacie datetime.
Składnia: datetime.datetime.strptime(wejście,format)
Parametr:
- wejście to ciąg znaków datetime
- format to format – „rrrr-mm-dd”
- datetime jest modułem
W tym celu najpierw importowany jest moduł i podawany jest wejściowy ciąg znaków DateTime. Teraz użyj strptime, aby uzyskać wymagany format i uzyskać datę z DateTime za pomocą funkcji date().
Przykład 1 : Program w języku Python służący do konwersji formatu string 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())> |
>
>
Wyjście:
25.05.2021
Przykład 2: Konwertuj listę ciągów 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())> |
>
>
Wyjście:
25.05.2021
25.05.2020
15.02.2019
1999-02-04
Możemy również wyświetlić DateTime w %d/%m/%Y %H:%M:%S Format. W tym celu otrzymamy dane w formacie data-miesiąc-rok godziny: minuty; sekundy. Musimy więc pobrać wejściowy ciąg daty i godziny i uzyskać ten format
Składnia: datetime.strptime(data_wejściowa, %d/%m/%Y %H:%M:%S)
Parametr:
- datetime jest modułem
- data_wejściowa to format daty i godziny ciągu
- strptime służy do konwersji ciągu input_date na datetime
Przykład 3: Program w języku Python, który pobiera ciąg znaków datetime do formatu %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)> |
>
Java pobiera aktualną datę
>
Wyjście:
2021-05-25 02:35:15