logo

Python DateTime – Funció strptime().

strptime() és un altre mètode disponible a DateTime que s'utilitza per formatar la marca de temps que està en format de cadena a l'objecte data-hora.

Sintaxi : datetime.strptime(time_data, format_data)



Paràmetre:

  • time_data és l'hora present en format de cadena
  • format_data són les dades presents en format datatime que es converteixen de time_data mitjançant aquesta funció.

Com funciona strptime()?

Aquesta funció pren dos arguments, una cadena en la qual es dóna un temps i un codi de format, per canviar la cadena, la cadena es canvia a l'objecte DateTime segons la llista de codis que es mostra a continuació.

Format de codis



codi de format significat exemple
%a Nom abreujat del dia feiner Sol, meu
%A Nom complet del dia feiner Diumenge dilluns
% En Dia de la setmana com a nombre decimal 0…6
%d El dia del mes com a decimal amb zero 01, 02
%-d dia del mes com a nombre decimal 1, 2..
%b Nom del mes abreujat Gener, Febrer
%m mes com a nombre decimal encoixinat zero 01, 02
%-m mes com a nombre decimal 1, 2
%B Nom del mes complet Gener Febrer
%y any sense segle com a nombre decimal encoixinat amb zero 99, 00
%-y any sense segle com a nombre decimal 0, 99
%Y any amb el segle com a nombre decimal 2000, 1999
%H hora (rellotge de 24 hores) com a nombre decimal encoixinat amb zero 01, 23
%-H hora (rellotge de 24 hores) com a nombre decimal 1, 23
%I hora (rellotge de 12 hores) com a nombre decimal encoixinat amb zero 01, 12
%-I hora (rellotge de 12 hores) com a nombre decimal 1, 12
%p AM o PM de la localització AM PM
%M Minut com a nombre decimal encoixinat amb zero 01, 59
%-M El minut com a nombre decimal 1, 59
%S Segon com a nombre decimal encoixinat amb zero 01, 59
%-S Segon com a nombre decimal 1, 59
%f microsegon com a nombre decimal, zero encoixinat al costat esquerre 000000, 999999
% Amb Desplaçament UTC en forma +HHMM o -HHMM
% AMB Nom de la zona horària
%j dia de l'any com a nombre decimal encoixinat amb zero 001, 365
%-j dia de l'any com a nombre decimal 1, 365
%IN Número de setmana de l'any (el diumenge és el primer) 0, 6
%IN Número de setmana de l'any 00, 53
%c la representació adequada de data i hora de la localització Dl, 30 de setembre 07:06:05 2013
%x la representació de data adequada de la localització 11/30/98
%X la representació temporal adequada de la localització 10:03:43
%% Un caràcter '%' literal %

Exemple 1: Programa Python per llegir datetime i obtenir totes les dades de l'hora mitjançant strptime. Aquí agafarem dades de temps en format de cadena i extreurem hores, minuts, segons i mil·lisegons

Python 3






# 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)>

>

bash for loop
>

Sortida:

523000

2

35

5

1999-05-25 02:35:05.523000

Exemple 2: Codi Python que utilitza strptime. Aquí agafarem dades de temps en format de cadena i extreurem la marca de temps en format %d/%m/%y %H:%M:%S.%f.

Python 3




# 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))>

>

>

Sortida:

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

podem obtenir el temps que segueix una estructura amb totes les dates utilitzant el mateix strptime().

Sintaxi :

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

on la marca de temps inclou l'hora i la data

Exemple : codi Python per obtenir el temps a l'estructura:

Python 3




#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'>))>

>

>

Sortida:

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)

També és possible obtenir la cadena datetime en format aaaa-mm-dd datatime. aaaa-mm-dd significa any-mes-dia. Podem convertir el format de cadena a DateTime utilitzant la funció strptime(). Utilitzarem el format '%Y/%m/%d' per fer que la cadena arribi a la data i l'hora.

Sintaxi: datetime.datetime.strptime (entrada, format)

Paràmetre:

  • l'entrada és la cadena datetime
  • format és el format: 'aaaa-mm-dd'
  • datetime és el mòdul

Per a això primer, s'importa el mòdul i es dóna la cadena d'entrada DateTime. Ara feu servir strptime per obtenir el format necessari i obtenir la data de DateTime mitjançant la funció date().

Exemple 1 : Programa Python per convertir el format de data i hora de cadena a data i hora

Python 3




# 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())>

>

>

Sortida:

2021-05-25

Exemple 2: Converteix la llista de cadenes datetime a datetime

Python 3




# 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())>

>

>

Sortida:

2021-05-25

2020-05-25

2019-02-15

1999-02-04

També podem mostrar DateTime a %d/%m/%Y %H:%M:%S Format. Per a això, obtindrem les dades en format data-mes-any hores:minuts;segons. Per tant, hem d'introduir la cadena de data i hora i obtenir aquest format

Sintaxi: datetime.strptime(data_entrada, %d/%m/%Y %H:%M:%S)

Paràmetre:

  • datetime és el mòdul
  • data_entrada és el format datatime de la cadena
  • strptime s'utilitza per convertir la cadena input_date en datetime

Exemple 3: Programa Python per obtenir la cadena datetime al format %d/%m/%Y %H:%M:%S

Python 3




#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)>

monitor de tub de raigs catòdics

>

>

Sortida:

2021-05-25 02:35:15