Python strptime -funksjon

Python strptime -funksjon
Python har mange innebygde funksjoner for å gjøre dato- og tidsrelaterte operasjoner. De strptime () Funksjon er en av dem. Det brukes til å konvertere en strengverdi til en Dato tid eller tid verdi. De Dato tid og tid Moduler krever import for å bruke strptime () Funksjon i Python -skriptet. De ValueError vil bli hevet av denne funksjonen hvis strengen ikke blir konvertert riktig. Ulike bruksområder for denne funksjonen er vist i denne opplæringen.

Syntaks:

dato tid.Strptime (Datestring [, Format])

eller

tid.Strptime (Timestring [, Format])
  • Det første argumentet for strptime () -funksjonen er obligatorisk og tar en hvilken som helst verdi eller tidsverdien.
  • Det andre argumentet for strptime () -funksjonen er valgfritt som tar formatstrengen for å lese det første argumentet.
  • Det returnerer strukturen av GMTIME () eller Localtime ().

Ulike typer direktiver kan brukes i strptime () -funksjonen for å definere formatstrengen. Noen av dem er nevnt nedenfor.

Direktiv Hensikt
%d Det brukes til å få måneden i måneden (01 til 31).
%m Det brukes til å få måneden i antall (01 til 12).
%y Det brukes til å få året med to sifre (00 til 99).
%Y Det brukes til å få året med fire sifre. (0000 til 9999)
%H Det brukes til å få timen for den 24-timers klokken (00 til 23)
%M Det brukes til å få øyeblikket.
%S Det brukes til å få den andre.
%w Det brukes til å få ukens dag i nummer der søndag = 0.
%D Det brukes til å få datoen som%m/%d/%y.
%T Det brukes til å få tiden som%h:%m:%s.
%B Det brukes til å få hele månedens navn.
%EN Det brukes til å få hele ukedagens navn.

Eksempel-1: Bruk av strptime () -funksjonen med DateTime-modulen

Lag en Python -fil med følgende skript der Dato tid Modulen har blitt brukt til å skrive ut den formaterte datoen, tiden og både dato- og tidsverdiene.

#IMPORT DATETIME -modul
fra DateTime Import DateTime
#Sett inn datatiden verdien
DT = "22/04/22 06:40:30"
#Sett formateringen for datetime -verdien
format = "%d/%m/%y%h:%m:%s"
""
Formater DateTime -verdien ved hjelp av
strptime () -funksjon
""
Dato = DateTime.Strptime (DT, format)
#Trykk datoen og klokkeslettet
Print ("Dato og tidsverdi er:", dato)
#Trykk datoen
Print ("Datoverdien er: %S- %S- %S" %(Dato.dag, dato.Måned, dato.år))
#Trykk tiden
Print ("Tidsverdien er: %s: %s: %s" %(dato.time, dato.minutt, dato.sekund))

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-2: Bruk av strptime () -funksjonen med tidsmodul

Lag en Python -fil med følgende skript der tid Modulen har blitt brukt til å skrive ut den formaterte datoen og tidsverdien, og hver del av datoen og klokkeslettet separat.

#Import tidsmodul
Importer tid
#Tilbud en dato og tidsverdi
DT = '12 -16-2022 13:25:45 '
#Trykk den tildelte verdien
Print ("Dato og tidsverdi er: \ n", DT)
#Convert strengverdien ved bruk av strptime () -funksjon
verdi = tid.Strptime (DT, '%M-%D-%Y%H:%M:%S')
#Trykkdagen på datoen
trykk ("\ n the Day er:", verdi.tm_mday)
#Trykk månedens verdi på datoen
trykk ("Måneden er:", verdi.tm_mon)
#PRINT -årsverdien på datoen
trykk ("Året er:", verdi.TM_YEAR)
#Trykk ukedagsverdi på datoen
trykk ("Ukedagsnummeret er:", verdi.tm_wday)
#Trykk timeverdi fra datetime -verdien
trykk ("Timen er:", verdi.tm_hour)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-3: Konverter en liste over datoverdier ved hjelp av datetime

Lag en Python -fil med følgende skript der tid Modulen har blitt brukt til å skrive ut den formaterte datoen og tidsverdien, og hver del av datoen og klokkeslettet separat. Her, 'hvis' Tilstanden har blitt brukt til å legge til den ledende null for den ensifrede dag- eller månedens verdi.

#IMPORT DATETIME -modul
fra DateTime Import DateTime
#Declare en streng med datoer
date_list = ['04 -05-2022 ', '17 -05-2022', '21 -05-2022 ']
Print ("Datoverdiene er:");
for verdi i date_list:
#Convert strengdataene i DateTime -format
Datevalue = DateTime.strptime (verdi, '%d-%m-%y').Dato()
#Add som leder null med dagen hvis dagsverdien er ett siffer
Hvis datavalue.dag < 10:
d_day = '0' + str (datavalue.dag)
ellers:
D_DAY = DATEVALUE.dag
#Add som leder null med måneden hvis månedverdien er ett siffer
Hvis datavalue.måned < 10:
d_month = '0' + str (datavalue.måned)
ellers:
d_month = Datevalue.måned
#Trykk den formaterte datoverdien på listen
Print ("%s/%s/%s"%(D_DAY, D_MONTH, DATEVALUE.år))

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Hvert element på listen er skrevet ut etter formatering.

Eksempel-4: Konverter strengverdien til dato- og klokkeslettobjekt

Lag en Python -fil med følgende skript der Dato tid Modulen har blitt brukt til å konvertere datoverdien i streng til datoobjektet og tidsverdien i streng til tidsobjektet. Deretter vil typen av det konverterte objektet og den formaterte dato- og tidsverdiene bli skrevet ut. De Dato() Funksjonen har blitt brukt til å konvertere datostrengverdien til datoobjektet. De tid() Funksjon har blitt brukt til å konvertere tidsstrengverdien til tidsobjektet.

#IMPORT DATETIME -modul
fra DateTime Import DateTime
#Sett en strengverdi på dato
Dateval = '25 -04-22 '
#Convert the String Into Date Object
d_obj = DateTime.strptime (Dateval, '%d-%m-%y').Dato()
#Trykk objekttypen
print ("Type av objektet er:", type (d_obj))
#Trykk den formaterte datoverdien
Print ("Datoverdien er: %s/ %s/ %s" %(D_OBJ.DAG, D_OBJ.Måned, D_OBJ.år))
#Sett en strengverdi av tid
TimeVal = '11: 30: 59 '
#Convert the String Into Time -objektet
T_OBJ = DATETIME.Strptime (TimeVal, '%H:%M:%S').tid()
#Trykk objekttypen
Print ("Type av objektet er:", type (t_obj))
#Trykk den formaterte tidsverdien
Print ("Tidsverdien er: %S: %S: %S" %(T_OBJ.time, t_obj.minutt, t_obj.sekund))

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Konklusjon

Forskjellige måter å bruke på strptime () funksjon ved å importere Dato tid modul og tid Modulen er vist i denne opplæringen ved å bruke flere eksempler. Python-brukerne kan bruke noen av modulene til å jobbe med dato- og tidsrelaterte oppgaver.