strptijd() is een andere methode die beschikbaar is in DateTime en die wordt gebruikt om de tijdstempel in stringindeling op te maken voor het date-time-object.
Syntaxis : datetime.strptime(time_data, format_data)
Parameter:
- time_data is de tijd die aanwezig is in stringnotatie
- format_data zijn de gegevens die aanwezig zijn in datetime-indeling en die met behulp van deze functie worden geconverteerd van time_data.
Hoe werkt strptime()?
Deze functie heeft twee argumenten nodig, een string waarin enige tijd wordt opgegeven en een formaatcode, om de string in te veranderen. De string wordt gewijzigd in het DateTime-object volgens de onderstaande lijst met codes.
Formaatcodes
formaatcode | betekenis | voorbeeld |
---|---|---|
%A | Afgekorte naam van de weekdag | Zon, mijn |
%A | Volledige naam van de weekdag | Zondag maandag |
%In | Weekdag als decimaal getal | 0…6 |
%D | Dag van de maand als een decimaal met nulvulling | 01, 02 |
%-D | dag van de maand als decimaal getal | 1, 2.. |
%B | Afgekorte naam van de maand | Jan, februari |
%M | maand als een opgevuld decimaal getal met nul | 01, 02 |
%-M | maand als decimaal getal | 1, 2 |
%B | Volledige naam van de maand | Januari februari |
%En | jaar zonder eeuw als een opgevuld decimaal getal met nul | 99.00 uur |
%-En | jaar zonder eeuw als decimaal getal | 0,99 |
%EN | jaar met eeuw als decimaal getal | 2000, 1999 |
%H | uur (24-uursklok) als een opgevuld decimaal getal met nul | 01, 23 |
%-H | uur (24-uursklok) als decimaal getal | 1, 23 |
%I | uur (12-uursklok) als een opgevuld decimaal getal met nul | 01, 12 |
%-I | uur (12-uursklok) als decimaal getal | 1, 12 |
%P | lokale AM of PM | AM PM |
%M | Minuut als een opgevuld decimaal getal met nul | 01, 59 |
%-M | Minuut als decimaal getal | 1, 59 |
%S | Tweede als een opgevuld decimaal getal met nul | 01, 59 |
%-S | Tweede als decimaal getal | 1, 59 |
%F | microseconde als decimaal getal, nul opgevuld aan de linkerkant | 000000, 999999 |
%Met | UTC-offset in de vorm +HHMM of -HHMM | |
%MET | Naam van tijdzone | |
%J | dag van het jaar als een opgevuld decimaal getal met nul | 001, 365 |
%-J | dag van het jaar als decimaal getal | 1, 365 |
%IN | Weeknummer van het jaar (zondag is de eerste) | 0, 6 |
%IN | Weeknummer van het jaar | 00, 53 |
%C | de juiste datum- en tijdweergave van de landinstelling | Ma 30 september 07:06:05 2013 |
%X | de juiste datumweergave van de landinstelling | 30-11-98 |
%X | de juiste tijdweergave van de locale | 10:03:43 |
%% | Een letterlijk ‘%’-teken | % |
Voorbeeld 1: Python-programma om datetime te lezen en alle tijdgegevens te verkrijgen met behulp van strptime. Hier gaan we tijdgegevens in het tekenreeksformaat nemen en uren, minuten, seconden en milliseconden extraheren
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)> |
>
>
Uitgang:
523000
2
35
5
25-05-1999 02:35:05.523000
Voorbeeld 2: Python-code die strptime gebruikt. Hier gaan we tijdgegevens in het tekenreeksformaat nemen en de tijdstempel extraheren in het %d/%m/%y %H:%M:%S.%f formaat.
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))> |
ipconfig op Ubuntu
>
>
Uitgang:
25-05-1999 02:35:08.023000
26-05-1999 12:45:00.003000
27-05-1999 07:35:05.523000
28-05-1999 05:15:55.523000
we kunnen de tijd verkrijgen die een structuur volgt met alle datums door strptime() zelf te gebruiken.
Syntaxis :
time.strptime(Tijdstempel, ‘%d/%m/%y %H:%M:%S’)
waarbij Tijdstempel tijd en datum bevat
Voorbeeld : Python-code om tijd in de structuur te krijgen:
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'> ))> |
>
>
Uitgang:
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)
Het is ook mogelijk om de tekenreeks datetime in de datumtijdnotatie jjjj-mm-dd op te halen. jjjj-mm-dd staat voor jaar-maand-dag. We kunnen het tekenreeksformaat naar DateTime converteren met behulp van de strptime() functie. We zullen het ‘%Y/%m/%d’ formaat gebruiken om de string naar datetime te krijgen.
Syntaxis: datetime.datetime.strptime(invoer, formaat)
Parameter:
- invoer is de tekenreeks datetime
- formaat is het formaat – ‘jjjj-mm-dd’
- datetime is de module
Hiervoor wordt eerst de module geïmporteerd en wordt de invoer DateTime-string opgegeven. Gebruik nu strptime om het vereiste formaat te verkrijgen en de datum van DateTime op te halen met behulp van de functie date().
voorbeeld 1 : Python-programma om het datum-tijdformaat van de tekenreeks naar datetime te converteren
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())> |
>
>
Uitgang:
25-05-2021
Voorbeeld 2: Converteer de lijst met tekenreeksen datetime naar 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())> |
>
>
Uitgang:
25-05-2021
25-05-2020
15-02-2019
04-02-1999
We kunnen DateTime ook weergeven in %d/%m/%Y %H:%M:%S Formaat. Hiervoor krijgen we de gegevens in het formaat datum-maand-jaar uren:minuten;seconden. We moeten dus de datum-tijdreeks invoeren en dit formaat verkrijgen
Syntaxis: datetime.strptime(invoerdatum, %d/%m/%Y %H:%M:%S)
Parameter:
- datetime is de module
- input_date is het datum-tijdformaat van de tekenreeks
- strptime wordt gebruikt om de string input_date om te zetten in datetime
Voorbeeld 3: Python-programma om de tekenreeks datetime in het %d/%m/%Y %H:%M:%S-formaat te krijgen
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)> |
>
>
Uitgang:
25-05-2021 02:35:15