strptime() es otro método disponible en DateTime que se usa para formatear la marca de tiempo que está en formato de string para el objeto de fecha y hora.
Sintaxis : datetime.strptime(time_data, format_data)
Parámetro:
- time_data es la hora presente en formato de string
- format_data son los datos presentes en formato de fecha y hora que se convierten de time_data usando esta función.
¿Cómo funciona strptime()?
Esta función toma dos argumentos, una string en la que se proporciona un tiempo y un código de formato, para cambiar la string, la string se cambia al objeto DateTime según la lista de códigos que se proporciona a continuación.
Códigos de formato
código de formato | sentido | ejemplo |
---|---|---|
%a | Nombre abreviado del día de la semana | dom, lun |
%A | Nombre completo del día de la semana | Domingo Lunes |
%w | Día de la semana como número decimal | 0…6 |
%d | Día del mes como decimal con ceros | 01, 02 |
%-d | día del mes como número decimal | 1, 2.. |
%b | Nombre del mes abreviado | ene, feb |
%metro | mes como un número decimal con ceros | 01, 02 |
%-metro | mes como un número decimal | 1, 2 |
%B | Nombre del mes completo | Enero febrero |
%y | año sin siglo como un número decimal con ceros | 99, 00 |
%-y | año sin siglo como número decimal | 0, 99 |
%Y | año con siglo como número decimal | 2000, 1999 |
%H | hora (reloj de 24 horas) como un número decimal con ceros | 01, 23 |
%-H | hora (reloj de 24 horas) como un número decimal | 1, 23 |
%YO | hora (reloj de 12 horas) como un número decimal con ceros | 01, 12 |
%-YO | hora (reloj de 12 horas) como un número decimal | 1, 12 |
%pags | AM o PM de la localidad | AM PM |
%METRO | Minuto como un número decimal con relleno cero | 01, 59 |
%-METRO | Minuto como número decimal | 1, 59 |
%S | Segundo como un número decimal con ceros | 01, 59 |
%-S | Segundo como un número decimal | 1, 59 |
%F | microsegundo como un número decimal, cero rellenado en el lado izquierdo | 000000, 999999 |
%z | Compensación UTC en la forma +HHMM o -HHMM | |
%Z | Nombre de la zona horaria | |
%j | día del año como un número decimal con ceros | 001, 365 |
%-j | día del año como número decimal | 1, 365 |
%U | Número de semana del año (siendo el domingo el primero) | 0, 6 |
%W | Número de semana del año | 00, 53 |
%C | Representación de fecha y hora adecuada de la configuración regional | |
%X | representación de fecha adecuada de la configuración regional | 30/11/98 |
%X | Representación de tiempo apropiada de la localidad | 10:03:43 |
%% | Un carácter ‘%’ literal | % |
Ejemplo 1: programa de Python para leer fecha y hora y obtener todos los datos de tiempo usando strptime. Aquí vamos a tomar datos de tiempo en formato de string y vamos a extraer horas, minutos, segundos y milisegundos.
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)
Producción:
523000
2
35
5
1999-05-25 02:35:05.523000
Ejemplo 2: código de Python que usa strptime. Aquí vamos a tomar datos de tiempo en formato de string y vamos a extraer la marca de tiempo en formato «%d/%m/%y %H:%M:%S.%f».
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))
Producción:
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
podemos obtener el tiempo que sigue a una estructura con todas las fechas usando el propio strptime().
Sintaxis :
time.strptime(Marca de tiempo, ‘%d/%m/%y %H:%M:%S’)
donde Timestamp incluye la hora y la fecha
Ejemplo : código de Python para obtener el tiempo en la estructura:
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'))
Producción:
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)
También es posible obtener la string de fecha y hora en formato de fecha y hora aaaa-mm-dd. aaaa-mm-dd significa año-mes-día. Podemos convertir el formato de string a DateTime usando la función strptime(). Usaremos el formato ‘%Y/%m/%d’ para obtener la string a la fecha y hora.
Sintaxis: fechahora.fechahora.strptime(entrada,formato)
Parámetro:
- la entrada es la string de fecha y hora
- format es el formato – ‘yyyy-mm-dd’
- datetime es el módulo
Para esto primero, se importa el módulo y se proporciona la string de fecha y hora de entrada. Ahora use strptime para obtener el formato requerido y obtenga la fecha de DateTime usando la función date()
Ejemplo 1 : programa de Python para convertir el formato de fecha y hora de string a fecha y hora
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())
Producción:
2021-05-25
Ejemplo 2: Convertir lista de strings de fecha y hora a fecha y hora
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())
Producción:
2021-05-25
2020-05-25
2019-02-15
1999-02-04
También podemos mostrar DateTime en formato «%d/%m/%Y %H:%M:%S» . Para ello, vamos a obtener los datos en formato fecha-mes-año horas:minutos;segundos. Así que tenemos que tomar la string de fecha y hora de entrada y obtener este formato
Sintaxis: datetime.strptime(input_date, “%d/%m/%Y %H:%M:%S”)
Parámetro:
- datetime es el módulo
- input_date es el formato de fecha y hora de la string
- strptime se usa para convertir la string input_date en datetime
Ejemplo 3: programa de Python para obtener la string de fecha y hora en formato «%d/%m/%Y %H:%M:%S»
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)
Producción:
2021-05-25 02:35:15
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA