How-to-Convert-String-to-Datetime-in-Python

Cómo convertir una cadena a fecha y hora en Python

Publicado por
Comparte en redes sociales


La conversión de un tipo de datos a otro tipo de datos es crucial en cualquier lenguaje de programación. Casi todos los lenguajes de programación admiten conversiones de tipo para tipos de datos integrados.

Los tipos de datos personalizados, como la fecha y la hora, requieren módulos adicionales para las conversiones. Necesitamos módulos, especialmente para datetime conversiones porque trabajar en ellas nunca ha sido fácil para los programadores. Afortunadamente, Python tiene módulos incorporados para trabajar con fecha y hora.

Aprenderemos a convertir un datetime cadena a uno datetime objeto en Python usando diferentes módulos. Antes de saltar a eso, veamos por qué necesitamos convertirlo en primer lugar.

¿Por qué necesitamos convertir una cadena de fecha y hora en un objeto de fecha y hora?

Cuando tenemos que trabajar con fechas, no es fácil trabajar si están en formato de cadena. Su conversión a formato de fecha y hora hace que su uso sea muy sencillo. Las fechas en cadenas son como cadenas normales. No tendrá ningún método especial para trabajar con fechas. Tendrá métodos de cadena generales, que no necesitaremos cuando trabajemos con fechas.

Digamos que necesitamos comparar dos fechas. Si están en formato de cadena, podemos compararlos correctamente. si están en datetime formato, podemos usar operadores de comparación como números.

Este es solo un escenario en el que la conversión a datetime el formato lo hace fácil. Hay muchos escenarios como agregar fechas, restar, administrar zonas horarias, etc., donde la conversión datetime cadena a datetime objeto nos hace la vida más fácil que nunca.

Dicho esto, veamos diferentes formas de convertir un datetime cadena a uno datetime objeto. Usaremos la función integrada. datetime y terceros dateutil módulos para convertir datetime cadena a datetime objeto. Comencemos con el módulo de fecha y hora.

Uso de fecha y hora.

el datetime es un módulo integrado de Python que se utiliza para trabajar con fechas y horas. Hay muchas clases en este módulo que nos ayudan a trabajar con fechas y horas. vamos a usar datetime.datetime clase para la conversión.

Leer también  5 formas de recuperar datos eliminados en Windows 11

el datetime.datetime tiene muchos métodos. Estamos interesados ​​en strptime método que nos ayudará en la conversión. Vamos a revisar.

fechahora.strptime

el datetime.strptime método se utiliza para convertir datetime cadena a uno datetime objeto. Se necesitan dos cuerdas, una es datetime cadena y el otro es el formato de la misma datetime cadena de caracteres Y él devuelve el datetime objeto.

Veamos un ejemplo

from datetime import datetime

string = "19-12-2022 09:37:56 PM"
formatting = "%d-%m-%Y %I:%M:%S %p"
print(datetime.strptime(string, formatting))

Si ejecuta el código anterior, verá el siguiente resultado.

2022-12-19 21:37:56

tomamos un datetime string y lo convertimos a datetime objeto usando datetime.strptime método. Asegúrese de que el formato que proporcione al método coincida exactamente con el datetime cadena de caracteres Si no coinciden, es posible que obtenga un error o una salida incorrecta.

Utilizamos códigos de formato para el datetime formato. Puedes ver todo códigos de formato en documentos.

el datetime.strptime el método devuelve completo datetime. Si desea obtener la fecha y la hora por separado, podemos usar la fecha time Métodos de datetime objeto. Veamos el código.

from datetime import datetime

string = "19-12-2022 09:37:56 PM"
formatting = "%d-%m-%Y %I:%M:%S %p"

## getting date separately
print("Date:", datetime.strptime(string, formatting).date())

## getting time separately
print("Time:", datetime.strptime(string, formatting).time())

Ejecute el código anterior y verá el siguiente resultado.

Date: 2022-12-19
Time: 21:37:56

Los métodos date y time devolverán sus objetos respectivamente. Volverán a tener sus respectivos métodos para fechas y horas.

Hemos proporcionado las cadenas y los formatos correctos para el datetime.strptime método que vimos arriba. Si no los proporcionamos correctamente, obtendremos errores. Veamos cómo manejar estos errores. Ejecute el siguiente código.

from datetime import datetime

string = "19:12:2022 09:37:56 PM"
formatting = "%d-%m-%Y %I:%M:%S %p"
print(datetime.strptime(string, formatting))

El código anterior generará un error porque el formato no coincide con el datetime cadena de caracteres Para manejar este tipo de errores, podemos usar Pythons try-except. Vamos a agregarlo.

from datetime import datetime

try:
    string = "19:12:2022 09:37:56 PM"
    formatting = "%d-%m-%Y %I:%M:%S %p"
    print(datetime.strptime(string, formatting))
except ValueError as error:
    print(error)

Ahora ejecuta el código de nuevo. Verá el siguiente mensaje de error sin descifrar el código.

time data '19:12:2022 09:37:56 PM' does not match format '%d-%m-%Y %I:%M:%S %p'

De manera similar, podemos agregar el intento, excepto por el siguiente parser.parse método también. Esto nos ayuda a evitar romper el código en el medio. No está relacionado específicamente con el contexto de este tutorial, pero le recordará usarlo en su código.

Leer también  Hyperloop One será detenido

Eso es todo por el datetime módulo. vamos al siguiente modulo dateutil.

Usando dateutil

El módulo dateutil proporciona extensiones a datetime módulo. Hace que trabajar con fechas y horas sea mucho más fácil con muchos métodos fáciles de usar. Instalemos el módulo con el siguiente comando.

pip install python-dateutil

El método que nos interesa es dateutil.parser.parse. Veamos cómo convertir datetime cadena a datetime objeto.

analizador.parser

El método parser.parse Tomar un datetime cadena y la convierte en una respectiva datetime formato de objeto No necesitamos proporcionar ningún formato para este método. Automáticamente convertirá el dado datetime cadena en datetime objeto. Veamos un ejemplo.

from dateutil import parser

string = "19-12-2022 09:37:56 PM"
print(parser.parse(string))

Si ejecuta el código anterior, verá el siguiente resultado.

2022-12-19 21:37:56

el datetime cadena debe estar en un formato particular que el parser.parse método acepta. Lanzará un error si el datetime el formato de cadena no se ajusta al formato deseado. Ustedes puede verificar todos los formatos de cadena de fecha y hora que acepta para conversiones automáticas.

Como el parser.parse el método regresa datetime objeto, podemos acceder date y time objetos por separado como vimos con el datetime módulo. Veamos el código.

from dateutil import parser

string = "19-12-2022 09:37:56 PM"
print("Date:", parser.parse(string).date())
print("Time:", parser.parse(string).time())

Puede ver el resultado a continuación si ejecuta el código anterior.

Date: 2022-12-19
Time: 21:37:56

Como podéis ver dateutil hace que sea más fácil trabajar con fechas y horas comparativamente. Puede explorar el módulo en el documentos.

Conclusión

Utilizamos un módulo incorporado y un módulo de terceros para convertir el datetime cadena a un objeto DateTime. Hay otro módulo incorporado llamado time con el que podemos convertir datetime cadena a un objeto DateTime similar a datetime y dateutil mods. Inténtalo tú mismo. No será difícil porque ya has hecho lo mismo con otros módulos.

Leer también  Comment automatiser l'orchestration des droits d'accès dans les compartiments AWS S3

Puede haber más bibliotecas con las que podamos lograr lo mismo. Los módulos que usamos en el tutorial Thing son estándar y ampliamente utilizados. Puede obtener más información sobre los otros módulos y elegir el que más le convenga.

También puede explorar cómo calcular la diferencia horaria en python.

Buena codificación 🙂



Source link

Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.

Direcciones de Billetera:

- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS 

- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe 

- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f

- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx 

También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:

-Twitter

- Telegram

Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones

Dejar un comentario

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