Requisito previo: módulo de fecha y hora
En este artículo, aprenderemos cómo obtener un objeto de fecha y hora a partir de una string de tiempo usando Python.
Para convertir una string de tiempo en un objeto de fecha y hora, se utiliza la función datetime.strptime() del módulo de fecha y hora. Esta función devuelve el objeto de fecha y hora.
Sintaxis: datetime.strptime(fecha_string, formato)
Parámetros:
- date_string : string de tiempo especificada que contiene el objeto de fecha y hora que se requiere. **Requerido
- format : formato de abreviatura de date_string
Devoluciones: Devuelve el objeto de fecha y hora de date_string dado
Lista del formato aceptable que se puede pasar a strptime():
Directiva | Sentido | Formato de salida |
---|---|---|
% Y | Nombre abreviado del día de la semana. | dom, lun, …, sáb |
%metro | Mes como un número decimal con ceros. | 01, 02, …, 12 |
%b | Mes como nombre abreviado de la configuración regional. | ene, feb, …, dic |
%d | Día del mes como un número decimal con ceros. | 01, 02, …, 31 |
%H | Hora (reloj de 24 horas) como un número decimal con ceros. | 00, 01, …, 23 |
%YO | Hora (reloj de 12 horas) como un número decimal con ceros. | 01, 02, …, 12 |
%METRO | Minuto como un número decimal con ceros. | 00, 01, …, 59 |
%S | Segundo como un número decimal con ceros. | 00, 01, …, 59 |
%F | Microsegundo como número decimal, con ceros a la izquierda. | 000000, 000001, …, 999999 |
%pags | El equivalente local de AM o PM | AM, PM, AM, PM |
%z | Compensación UTC en la forma ±HHMM | +0000, -0400, +0530 |
Ejemplo 1: convertir una string de fecha y hora en fecha y hora
Python3
# Python3 code to demonstrate # Getting datetime object using a date_string # importing datetime module import datetime # datestring for which datetime_obj required date_string = '2021-09-01 15:27:05.004573 +0530' print("string datetime: ") print(date_string) print("datestring class is :", type(date_string)) # using strptime() to get datetime object datetime_obj = datetime.datetime.strptime( date_string, '%Y-%m-%d %H:%M:%S.%f %z') print("converted to datetime:") # Printing datetime print(datetime_obj) # Checking class of datetime_obj. print("datetime_obj class is :", type(datetime_obj))
Producción:
string datetime: 2021-09-01 15:27:05.004573 +0530 datestring class is : <class 'str'> converted to datetime: 2021-09-01 15:27:05.004573+05:30 datetime_obj class is : <class 'datetime.datetime'>
Ejemplo 2: convertir una string de fecha y hora en fecha y hora
Python3
# Python3 code to demonstrate # Getting datetime object using a date_string # importing datetime module import datetime # datestring for which datetime_obj required date_string = '2021-09-01 15:27:05' # using strptime() to get datetime object datetime_obj = datetime.datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S') # Printing datetime print(datetime_obj)
Producción:
2021-09-01 15:27:05
En este ejemplo, las partes de microsegundos y zona horaria se eliminaron del primer ejemplo, por lo que debemos eliminar las abreviaturas de microsegundos y zona horaria también de la string de formato.
Ejemplo 3: Conversión de string de fecha y hora a fecha y hora
Python3
# Python3 code to demonstrate # Getting datetime object using a date_string # importing datetime module import datetime # datestring for which datetime_obj required date_string = 'Sep 01 2021 03:27:05 PM' # using strptime() to get datetime object datetime_obj = datetime.datetime.strptime(date_string, '%b %d %Y %I:%M:%S %p') # Printing datetime print(datetime_obj)
Producción:
2021-09-01 15:27:05