Python DateTime – strptime() funkcija

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))>

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