logo

Python DateTime – strptime() Funktion

strptime() är en annan metod tillgänglig i DateTime som används för att formatera tidsstämpeln som är i strängformat till date-time-objekt.

Syntax : datetime.strptime(time_data, format_data)



Parameter:

  • time_data är tiden som finns i strängformat
  • format_data är data som finns i datetime-format som konverteras från time_data med denna funktion.

Hur strptime() fungerar?

Den här funktionen tar två argument, en sträng där en viss tid ges och en formatkod, för att ändra strängen till, strängen ändras till DateTime-objektet enligt listan med koder nedan.

Formatera koder



formatera kod menande exempel
%a Förkortat veckodagsnamn Sol, min
%A Fullständigt veckodagsnamn Söndag måndag
%I Veckodag som decimaltal 0…6
%d Dag i månaden som en noll vadderad decimal 01, 02
%-d dag i månaden som decimaltal 1, 2..
%b Förkortat månadsnamn Jan, feb
%m månad som ett utfyllt decimaltal med noll 01, 02
%-m månad som ett decimaltal 1, 2
%B Hela månadens namn Januari februari
%och år utan sekel som ett noll vadderat decimaltal 99,00
%-och år utan sekel som decimaltal 0,99
%OCH år med sekel som decimaltal 2000, 1999
%H timme (24 timmars klocka) som ett vadderat decimaltal med noll 01, 23
%-H timme (24 timmars klocka) som ett decimaltal 1, 23
%I timme (12 timmars klocka) som ett vadderat decimaltal med noll 01, 12
%-I timme (12 timmars klocka) som ett decimaltal 1, 12
%p lokalens AM eller PM AM PM
%M Minute som ett utfyllt decimaltal med noll 01, 59
%-M Minute som ett decimaltal 1, 59
%S Andra som ett utfyllt decimaltal med noll 01, 59
%-S Andra som ett decimaltal 1, 59
%f mikrosekund som ett decimaltal, noll vadderad på vänster sida 000000, 999999
%Med UTC-offset i formen +TTMM eller -TTMM
%MED Tidszonens namn
%j dag på året som ett utfyllt decimaltal 001, 365
%-j dag på året som ett decimaltal 1, 365
%I Årets veckonummer (söndagen är den första) 0, 6
%I Årets veckonummer 00, 53
%c lokalens lämpliga datum- och tidsrepresentation mån 30 september 07:06:05 2013
%x lokalens lämpliga datumrepresentation 30/11/98
%X lokalens lämpliga tidsrepresentation 10:03:43
%% Ett bokstavligt '%'-tecken %

Exempel 1: Python-program för att läsa datetime och få all tidsdata med strptime. Här kommer vi att ta tidsdata i strängformatet och kommer att extrahera timmar, minuter, sekunder och 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:

523 000

2

35

5

1999-05-25 02:35:05.523000

Exempel 2: Python-kod som använder strptime. Här ska vi ta tidsdata i strängformatet och extrahera tidsstämpeln 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

1999-05-27 07:35:05.523000

1999-05-28 05:15:55.523000

vi kan få tiden som följer en struktur med alla datum genom att använda strptime() själv.

Syntax :

time.strptime(Timestamp, '%d/%m/%y %H:%M:%S')

där Tidsstämpel inkluderar tid och datum

Exempel : Python-kod för att 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'>))>

avl trädrotation

>

>

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 är också möjligt att få strängen datetime i yyyy-mm-dd datetime-format. åååå-mm-dd står för år-månad-dag. Vi kan konvertera strängformat till DateTime genom att använda strptime()-funktionen. Vi kommer att använda '%Y/%m/%d'-formatet för att få strängen till datetime.

Syntax: datetime.datetime.strptime(input,format)

Parameter:

  • input är strängen datetime
  • format är formatet – 'åååå-mm-dd'
  • datetime är modulen

För detta först importeras modulen och indatasträngen DateTime ges. Använd nu strptime för att få önskat format och hämta datumet från DateTime med date()-funktionen

Exempel 1 : Python-program för att konvertera sträng datetime-format till 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())>

>

>

Produktion:

2021-05-25

Exempel 2: Konvertera lista över sträng datetime till 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

2019-02-15

1999-02-04

Vi kan också visa DateTime i %d/%m/%Y %H:%M:%S Formatera. För detta kommer vi att få data i formatet datum-månad-år timmar:minuter;sekunder. Så vi måste ta in datetime-strängen och få det här formatet

Syntax: datetime.strptime(input_date, %d/%m/%Y %H:%M:%S)

Parameter:

  • datetime är modulen
  • input_date är strängens datetime-format
  • strptime används för att konvertera input_date-strängen till datetime

Exempel 3: Python-program för att hämta strängen datetime till %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:

2021-05-25 02:35:15