strptime() er en anden metode tilgængelig i DateTime, som bruges til at formatere tidsstemplet, som er i strengformat til dato-tidsobjekt.
Syntaks : datetime.strptime(time_data, format_data)
Parameter:
np nuller
- time_data er tiden til stede i strengformat
- format_data er de data, der findes i datetime-format, som konverteres fra time_data ved hjælp af denne funktion.
Hvordan virker strptime()?
Denne funktion tager to argumenter, en streng, hvori der er givet noget tid, og en formatkode, for at ændre strengen til, strengen ændres til DateTime-objektet i henhold til listen over koder nedenfor.
Formater koder
| format kode | betyder | eksempel |
|---|---|---|
| %en | Forkortet ugedagsnavn | Sol, min |
| %EN | Fuldt navn på ugedagen | Søndag Mandag |
| %I | Ugedag som decimaltal | 0…6 |
| %d | Dag i måneden som en nulpolstret decimal | 01, 02 |
| %-d | dag i måneden som decimaltal | 1, 2.. |
| %b | Forkortet månedsnavn | Jan, feb |
| %m | måned som et polstret decimaltal med nul | 01, 02 |
| %-m | måned som et decimaltal | 1, 2 |
| %B | Fuldt måneds navn | Januar februar |
| %og | år uden århundrede som et polstret decimaltal med nul | 99,00 |
| %-og | år uden århundrede som et decimaltal | 0,99 |
| %OG | år med århundrede som decimaltal | 2000, 1999 |
| %H | time (24 timers ur) som et polstret decimaltal med nul | 01, 23 |
| %-H | time (24 timers ur) som et decimaltal | 1, 23 |
| %JEG | time (12 timers ur) som et polstret decimaltal med nul | 01, 12 |
| %-JEG | time (12 timers ur) som et decimaltal | 1, 12 |
| %p | lokalitetens AM eller PM | AM, PM |
| %M | Minut som et polstret decimaltal med nul | 01, 59 |
| %-M | Minut som et decimaltal | 1, 59 |
| %S | Anden som et polstret decimaltal med nul | 01, 59 |
| %-S | Anden som et decimaltal | 1, 59 |
| %f | mikrosekund som et decimaltal, nul polstret i venstre side | 000000, 999999 |
| %Med | UTC offset i formen +TTMM eller -TTMM | |
| %MED | Tidszonenavn | |
| %j | dag i året som et polstret decimaltal med nul | 001, 365 |
| %-j | dag i året som et decimaltal | 1, 365 |
| %I | Årets ugenummer (søndag er den første) | 0, 6 |
| %I | Årets ugenummer | 00, 53 |
| %c | lokalitetens passende dato og klokkeslæt | Man 30. september 07:06:05 2013 |
| %x | lokalitetens passende datorepræsentation | 30/11/98 |
| %X | lokalitetens passende tidsrepræsentation | 10:03:43 |
| %% | Et bogstaveligt '%'-tegn | % |
Eksempel 1: Python-program til at læse datetime og få alle tidsdata ved hjælp af strptime. Her skal vi tage tidsdata i strengformatet og udtrække timer, minutter, sekunder og millisekunder
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)> |
>
>
Produktion:
523000
2
35
5
1999-05-25 02:35:05.523000
Eksempel 2: Python-kode, der bruger strptime. Her skal vi tage tidsdata i strengformatet og udtrække tidsstemplet i %d/%m/%y %H:%M:%S.%f format.
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))> |
>
>
Produktion:
1999-05-25 02:35:08.023000
1999-05-26 12:45:00.003000
diskette1999-05-27 07:35:05.523000
1999-05-28 05:15:55.523000
vi kan få tiden, der følger en struktur med alle datoer, ved at bruge strptime() selv.
Syntaks :
time.strptime(Tidsstempel, '%d/%m/%y %H:%M:%S')
hvor tidsstempel inkluderer tid og dato
Eksempel : Python-kode for at få tid i struktur:
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'>))> |
>
>
Produktion:
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)
Det er også muligt at få strengen datetime i yyyy-mm-dd datetime format. åååå-mm-dd står for år-måned-dag. Vi kan konvertere strengformat til DateTime ved at bruge strptime()-funktionen. Vi vil bruge '%Y/%m/%d'-formatet til at få strengen til datetime.
Syntaks: datetime.datetime.strptime(input,format)
Parameter:
- input er strengen datetime
- format er formatet – 'åååå-mm-dd'
- datetime er modulet
Til dette først importeres modulet, og inddatastrengen DateTime er givet. Brug nu strptime for at få det nødvendige format og få datoen fra DateTime ved hjælp af date()-funktionen
Eksempel 1 : Python-program til at konvertere streng datetime format til datetime
hvad laver ravel i python
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())> |
>
>
Produktion:
2021-05-25
Eksempel 2: Konverter liste over streng datetime til 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())> |
>
>
Produktion:
2021-05-25
2020-05-25
hvornår starter q22019-02-15
1999-02-04
Vi kan også vise DateTime i %d/%m/%Y %H:%M:%S Format. Til dette vil vi få dataene i formatet dato-måned-år timer:minutter;sekunder. Så vi er nødt til at tage input datetime streng og få dette format
Syntaks: datetime.strptime(input_date, %d/%m/%Y %H:%M:%S)
Parameter:
- datetime er modulet
- input_date er strengens datetime-format
- strptime bruges til at konvertere input_date-streng til datetime
Eksempel 3: Python-program for at få strengen datetime til %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)> |
>
>
Produktion:
25-05-2021 02:35:15