strptime() je še ena metoda, ki je na voljo v DateTime in se uporablja za oblikovanje časovnega žiga, ki je v obliki niza, v predmet datum-čas.
Sintaksa : datetime.strptime(časovni_podatki, format_podatkov)
Parameter:
- time_data je čas, prisoten v obliki niza
- format_data so podatki v formatu datetime, ki se pretvorijo iz time_data s to funkcijo.
Kako deluje strptime()?
Ta funkcija sprejme dva argumenta, niz, v katerem je podano nekaj časa, in kodo oblike, v katero spremeni niz, niz pa se spremeni v objekt DateTime, kot je navedeno na spodnjem seznamu kod.
Oblikujte kode
označevalni html
| kodo formata | pomen | primer |
|---|---|---|
| %a | Skrajšano ime dneva v tednu | Sonce, moj |
| %A | Polno ime dneva v tednu | nedelja, ponedeljek |
| % noter | Dan v tednu kot decimalno število | 0…6 |
| %d | Dan v mesecu kot decimalka z ničlo | 01, 02 |
| %-d | dan v mesecu kot decimalno število | 1, 2.. |
| %b | Skrajšano ime meseca | jan, feb |
| %m | mesec kot decimalno število z ničlo | 01, 02 |
| %-m | mesec kot decimalno število | 1, 2 |
| %B | Polno ime meseca | Januar februar |
| % in | leto brez stoletja kot decimalno število z ničlo | 99,00 |
| %-in | leto brez stoletja kot decimalno število | 0,99 |
| % IN | leto s stoletje kot decimalno število | 2000, 1999 |
| %H | ura (24-urna ura) kot decimalno število z ničlo | 01, 23 |
| %-H | ura (24-urna ura) kot decimalno število | 1, 23 |
| %JAZ | ura (12-urna ura) kot decimalno število z ničlo | 01, 12 |
| %-JAZ | ura (12-urna ura) kot decimalno število | 1, 12 |
| %p | dopoldne ali popoldne v lokalnem okolju | DOPOLDNE POPOLDNE |
| %M | Minuta kot decimalno število z ničlo | 01, 59 |
| %-M | Minuta kot decimalno število | 1, 59 |
| %S | Sekunda kot decimalno število z ničlo | 01, 59 |
| %-S | Sekunda kot decimalno število | 1, 59 |
| %f | mikrosekunda kot decimalno število, z ničlo na levi strani | 000000, 999999 |
| % z | Odmik UTC v obliki +HHMM ali -HHMM | |
| % Z | Ime časovnega pasu | |
| %j | dan v letu kot decimalno število z ničlo | 001, 365 |
| %-j | dan v letu kot decimalno število | 1, 365 |
| %IN | Številka tedna v letu (nedelja je prva) | 0, 6 |
| %IN | Številka tedna v letu | 00, 53 |
| %c | ustrezna predstavitev datuma in časa lokalne nastavitve | Pon, 30. september 07:06:05 2013 |
| %x | ustrezna predstavitev datuma lokalne nastavitve | 30.11.98 |
| %X | lokalna ustrezna časovna predstavitev | 10:03:43 |
| %% | Dobesedni znak »%«. | % |
Primer 1: Program Python za branje datuma in časa z uporabo strptime pridobi vse podatke o času. Tukaj bomo vzeli podatke o času v obliki niza in izvlekli ure, minute, sekunde in milisekunde
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)> |
>
>
Izhod:
523000
2
35
5
1999-05-25 02:35:05.523000
Primer 2: Koda Python, ki uporablja strptime. Tukaj bomo vzeli podatke o času v obliki niza in ekstrahirali časovni žig v obliki %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))> |
>
>
Izhod:
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
čas, ki sledi strukturi z vsemi datumi, lahko dobimo z uporabo samega strptime().
Sintaksa :
time.strptime(časovni žig, '%d/%m/%y %H:%M:%S')
kjer časovni žig vključuje čas in datum
Primer : Koda Python za pridobitev časa v strukturi:
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'>))> |
>
>
Izhod:
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)
Niz datuma in časa je mogoče dobiti tudi v obliki datuma in časa llll-mm-dd. llll-mm-dd pomeni leto-mesec-dan. Format niza lahko pretvorimo v DateTime s funkcijo strptime(). Uporabili bomo obliko '%Y/%m/%d', da dobimo niz za datum in čas.
Sintaksa: datetime.datetime.strptime(vnos,oblika)
Parameter:
- vhod je niz datum in čas
- format je format – 'llll-mm-dd'
- datetime je modul
Za to se najprej uvozi modul in podan je vhodni niz DateTime. Zdaj uporabite strptime, da dobite zahtevano obliko in pridobite datum iz DateTime s funkcijo date().
Primer 1 : program Python za pretvorbo zapisa datuma in časa niza v datum in čas
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())> |
>
>
Izhod:
2021-05-25
Primer 2: Pretvori seznam nizov datum in čas v datum in čas
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())> |
>
>
Izhod:
2021-05-25
2020-05-25
2019-02-15
1999-02-04
dharmendra starost
DateTime lahko prikažemo tudi v %d/%m/%Y %H:%M:%S Oblika. Za to bomo pridobili podatke v formatu datum-mesec-leto ure: minute; sekunde. Zato moramo vzeti vhodni niz datuma in časa in dobiti to obliko
Sintaksa: datetime.strptime(vhodni_datum, %d/%m/%Y %H:%M:%S)
Parameter:
- datetime je modul
- vhodni_datum je oblika zapisa datuma in časa niza
- strptime se uporablja za pretvorbo niza input_date v datum in čas
Primer 3: Program Python za pridobivanje niza datetime v obliki %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)> |
>
>
Izhod:
2021-05-25 02:35:15