Convierta strings de «formato desconocido» en objetos de fecha y hora en Python

En este artículo, vamos a ver cómo convertir la string de «Formato desconocido» en el objeto DateTime en Python.

Supongamos que hay dos strings que contienen fechas en un formato desconocido y ese formato no lo conocemos. Aquí todo lo que sabemos es que ambas strings contienen expresiones válidas de fecha y hora. Usando el módulo dateutil que contiene un analizador de fechas que puede analizar strings de fechas en muchos formatos.

Veamos algunos ejemplos que ilustran esta conversión de muchas maneras:

Ejemplo 1: convertir strings de «formato desconocido» en objetos de fecha y hora

En el siguiente ejemplo, el formato desconocido especificado de la string de fecha «19750503T080120» se analiza en un formato conocido válido del objeto DateTime.

Python3

# Python3 code to illustrate the conversion of
# "unknown format" strings to DateTime objects
  
# Importing parser from the dateutil.parser
import dateutil.parser as parser
  
# Initializing an unknown format date string
date_string = "19750503T080120"
  
# Calling the parser to parse the above
# specified unformatted date string
# into a datetime objects
date_time = parser.parse(date_string)
  
# Printing the converted datetime object
print(date_time)

Producción:

1975-05-03 08:01:20

Ejemplo 2: convertir la fecha y la hora actual en objetos de fecha y hora 

En el siguiente ejemplo, la fecha y la hora actuales se han analizado en el objeto de fecha y hora.

Python3

# Python3 code to illustrate the conversion of
# "unknown format" strings to DateTime objects
  
# Importing parser from the dateutil.parser and
# dt from datetime module
import dateutil.parser as parser
import datetime as dt
  
# Calling the now() function to
# return the current datetime
now = dt.datetime.now()
  
# Calling the isoformat() to return the
# current datetime in isoformat and print it
print(now.isoformat())
  
# Now calling the parser to parse the
# above returned isoformat datetime into
# a valid known format of datetime object
print(parser.parse(now.isoformat()))

Producción:

2021-08-20T13:35:23.829488
2021-08-20 13:35:23.829488

A veces, las strings de fecha y hora pueden ser ambiguas, como que 01-02-2003 podría significar el 2 de enero o el 1 de febrero. Para eliminar esta ambigüedad, tenemos dos parámetros, como díaprimero y añoprimero, que se ilustran en los siguientes ejemplos.

Ejemplo 3: convertir un formato desconocido específico en objetos de fecha y hora

En el siguiente ejemplo, la fecha y hora especificada es «10-09-2021». El análisis() ha utilizado el parámetro dayfirst como verdadero y devuelve el resultado como «2021-09-10 00:00:00», es decir, 9 de octubre del año 2021.

Python3

# Python3 code to illustrate the conversion of
# "unknown format" strings to DateTime objects
  
# Importing parser from the dateutil.parser
import dateutil.parser as parser
  
# Now parsing the "10-09-2021" datetime with
# dayfirst parameter
B = parser.parse("10-09-2021", dayfirst = True)
  
# Printing the parsed datetime
print(B)

Producción:

2021-09-10 00:00:00

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray 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 *