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.