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