Python DateTime – Función strptime()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *