strptime() yra kitas metodas, galimas DateTime, kuris naudojamas formatuoti laiko žymą, kuri yra eilutės formatu, į datos ir laiko objektą.
Sintaksė : datatime.strptime(time_data, format_data)
Parametras:
- time_data yra laikas, esantis eilutės formatu
- format_duomenys yra datos ir laiko formato duomenys, kurie konvertuojami iš laiko_duomenys naudojant šią funkciją.
Kaip veikia strptime()?
Šiai funkcijai reikia dviejų argumentų: eilutės, kurioje pateikiamas šiek tiek laiko, ir formato kodo, kad eilutė būtų pakeista į, eilutė pakeičiama į DateTime objektą, kaip nurodyta toliau pateiktame kodų sąraše.
Formatuoti kodus
| formato kodas | prasmė | pavyzdys |
|---|---|---|
| %a | Sutrumpintas savaitės dienos pavadinimas | Saulė, mano |
| %A | Visas savaitės dienos pavadinimas | Sekmadienis Pirmadienis |
| %In | Savaitės diena kaip dešimtainis skaičius | 0…6 |
| %d | Mėnesio diena kaip dešimtainis skaičius su nuliu | 01, 02 |
| %-d | mėnesio diena kaip dešimtainis skaičius | 1, 2.. |
| %b | Sutrumpintas mėnesio pavadinimas | sausis, vasario mėn |
| %m | mėnesį kaip dešimtainį skaičių su nuliu | 01, 02 |
| %m | mėnuo kaip dešimtainis skaičius | 1, 2 |
| %B | Visas mėnesio pavadinimas | Sausis Vasaris |
| %ir | metai be šimtmečio kaip dešimtainis skaičius su nuliu | 99.00 |
| % ir | metai be šimtmečio kaip dešimtainis skaičius | 0,99 |
| %IR | metai su šimtmečiu kaip dešimtainis skaičius | 2000, 1999 m |
| %H | valanda (24 valandų laikrodis) kaip dešimtainis skaičius su nuliu | 01, 23 d |
| %-H | valanda (24 valandų laikrodis) kaip dešimtainis skaičius | 1, 23 |
| %I | valanda (12 valandų laikrodis) kaip dešimtainis skaičius su nuliu | 01, 12 |
| %-I | valanda (12 valandų laikrodis) kaip dešimtainis skaičius | 1, 12 |
| %p | lokalės ryte arba vakare | RYTO VAKARO |
| %M | Minutės kaip dešimtainis skaičius su nuliu | 01, 59 |
| %-M | Minutės kaip dešimtainis skaičius | 1, 59 |
| %S | Antrasis kaip nulis užpildytas dešimtainis skaičius | 01, 59 |
| %-S | Antrasis kaip dešimtainis skaičius | 1, 59 |
| %f | mikrosekundės kaip dešimtainis skaičius, kairėje pusėje parašyta nulis | 000000, 999999 |
| %Su | UTC poslinkis formoje +HHMM arba -HHMM | |
| %SU | Laiko juostos pavadinimas | |
| %j | metų diena kaip dešimtainis skaičius su nuliu | 001, 365 |
| %-j | metų diena kaip dešimtainis skaičius | 1 365 |
| %IN | Metų savaitės numeris (sekmadienis yra pirmasis) | 0, 6 |
| %IN | Metų savaitės numeris | 00, 53 |
| %c | atitinkamą lokalės datą ir laiką | 2013 m. rugsėjo 30 d., pirmadienis, 07:06:05 |
| %x | lokalės atitinkamą datą | 11/30/98 |
| %X | lokalės tinkamą laiko vaizdavimą | 10:03:43 |
| %% | Pažodinis „%“ simbolis | % |
1 pavyzdys: „Python“ programa, skirta skaityti datą ir laiką ir gauti visų laiko duomenis naudojant strptime. Čia mes imsime laiko duomenis eilutės formatu ir ištrauksime valandas, minutes, sekundes ir milisekundes
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)> |
>
>
Išvestis:
523 000
2
35
5
1999-05-25 02:35:05.523000
2 pavyzdys: Python kodas, kuris naudoja strptime. Čia paimsime laiko duomenis eilutės formatu ir ištrauksime laiko žymą %d/%m/%y %H:%M:%S.%f formatu.
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))> |
>
rūgšties savybės dbms
>
Išvestis:
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
mes galime gauti laiką, kuris seka struktūrą su visomis datomis, naudodami patį strptime().
Sintaksė :
time.strptime (Laiko žyma, „%d/%m/%y %H:%M:%S“)
kur laiko žyma apima laiką ir datą
Pavyzdys : Python kodas, skirtas laiko struktūrai gauti:
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'>))> |
>
>
Išvestis:
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)
Taip pat galima gauti eilutę datetime formatu yyyy-mm-dd datetime formatu. yyyy-mm-dd reiškia metai-mėnuo-diena. Naudodami funkciją strptime () galime konvertuoti eilutės formatą į DateTime. Naudosime formatą „%Y/%m/%d“, kad eilute būtų nustatyta data ir laikas.
Sintaksė: datetime.datetime.strptime(įvestis, formatas)
Parametras:
- įvestis yra eilutė datetime
- formatas yra formatas - 'yyyy-mm-dd'
- datatime yra modulis
Tam pirmiausia importuojamas modulis ir pateikiama įvesties eilutė DateTime. Dabar naudokite strptime, kad gautumėte reikiamą formatą ir gautumėte datą iš DateTime naudodami funkciją data ().
1 pavyzdys : Python programa, skirta konvertuoti eilutės datetime formatą į 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())> |
>
>
Išvestis:
2021-05-25
2 pavyzdys: Konvertuoti eilutės datetime sąrašą į 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())> |
>
>
Išvestis:
2021-05-25
2020-05-25
2019-02-15
1999-02-04
Taip pat galime rodyti DateTime in %d/%m/%Y %H:%M:%S Formatas. Tam mes gausime duomenis data-mėnuo-metai valandos:minutės;sekundės. Taigi turime įvesti datos ir laiko eilutę ir gauti šį formatą
Sintaksė: datetime.strptime(įvesties_data, %d/%m/%Y %H:%M:%S)
Parametras:
- datatime yra modulis
- input_date yra eilutės datos ir laiko formatas
- strptime naudojamas konvertuoti eilutę input_date į datetime
3 pavyzdys: Python programa, skirta eilutei datetime gauti į %d/%m/%Y %H:%M:%S formatą
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)> |
>
>
Išvestis:
2021-05-25 02:35:15