Convertir una cadena en DateTime en Python

Trabajar con fechas y horas es una tarea común en programación, y Python ofrece un potente módulo de fecha y hora para manejar operaciones relacionadas con fechas y horas.

En este artículo, vamos a convertir la cadena del formato 'aaaa-mm-dd' (aaaa-mm-dd significa año-mes-día) en un objeto DateTime usando Python.

Ejemplo:

  Input:   '2023-07-25'   Output:   2023-07-25 11:30:00   Explanation:   In This, we are converting the string 'yyyy-mm-dd' to Datetime format in Python. 

Nota : Hay varias formas de escribir fechas en formato de cadena como aaaa-mm-dd, dd/mm/aaaa, etc. Podemos cambiar cualquier formato de fecha de cadena al formato DateTime usando estos métodos.

¿Cómo convertir cadenas a DateTime en Python?

Podemos convertir la cadena en DateTime usando diferentes enfoques y métodos. Elija el método apropiado según sus requisitos y maneje las cadenas de fechas no válidas con elegancia para garantizar la ejecución de su Pitón programas. Veamos cada método a continuación:

  1. Usando strptime()
  2. Usando fechautil.parser.parse()
  3. Usando fecha y hora.strptime()

Convierta la fecha de la cadena en DateTime usando strptime()

Podemos convertir la fecha de cadena en un objeto DataTime usando el función strptime() de módulo de fecha y hora con Entrada(). Usaremos el formato '%Y/%m/%d' para llevar la cadena a DateTime.

Ejemplo:

Python3




import> datetime> # datetime in string format for may 25 1999> input> => '2021/05/25'> 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 

Convierta cadenas en objetos DateTime en Python usando fechautil.parser.parse()

Podemos convertir la fecha de cadena al formato DateTime usando la función dateutil.parser.parse() de la biblioteca dateutil. Proporciona un enfoque más flexible para analizar y convertir cadenas de fechas.

Python3




from> dateutil.parser> import> parse> def> convert_to_datetime(input_str, parserinfo> => None> ):> > return> parse(input_str, parserinfo> => parserinfo)> # Example usage> date_string> => '2023-07-25'> result_datetime> => convert_to_datetime(date_string)> print> (result_datetime)>

Producción:

2023-07-25 00:00:00 

Leer más: Usando dateutil para analizar fechas.

Convierta la lista de fechas de cadena a DateTime usando fecha y hora.strptime()

Podemos convertir una lista de fechas de cadena en un objeto DateTime usando fecha y hora.strptime() . El método datetime.strptime() de Python nos permite analizar una cadena de fecha con un formato específico y convertirla en un objeto de 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 

Solución de problemas de errores de strptime()

tiempo de ejecución() le dará ValueError si la cadena de entrada no se puede analizar en el formato dado.

Puede probar los bloques 'probar y exceptuar' para encontrar la posible solución del ValueError.

Ejemplo:

Python3




from> datetime> import> datetime> # error as 2021 is not a leap year> date_string> => '2021-02-29'> date_format> => '%Y-%m-%d'> # Attempt to convert string to datetime> try> :> > date_object> => datetime.strptime(date_string, date_format)> > print> (date_object)> except> ValueError as e:> > print> (> 'Error:'> , e)>

Producción

Error: day is out of range for month 

Hemos cubierto diferentes métodos para convertir una cadena de fecha al formato DateTime en Python. El formato DateTime en Python es muy útil cuando se opera con datos como fechas, como encontrar la cantidad de días entre 2 fechas.

Es muy importante mantener las fechas en formato DateTime si tiene que realizar operaciones en fechas. El intérprete tratará aaaa-mm-dd como una cadena si no la cambia, lo que hará imposible realizar la Operación de fecha y hora en eso.

Lecturas similares: