Saltar al contenido

Comprender el módulo datetime de Python

El módulo datetime de Python ofrece una serie de clases para trabajar con fechas y horas, incluyendo date, time, datetime, timedelta y tzinfo. Estas clases proporcionan una forma potente y flexible de almacenar, manipular y formatear fechas y horas en Python.

Clase date

La clase date representa una fecha (año, mes, día) y ofrece métodos para realizar diversas operaciones relacionadas con fechas, como obtener la fecha actual, formatear fechas para su salida y realizar aritmética de fechas.

Clase time

La clase time representa la hora del día y ofrece métodos para realizar operaciones como formatear horas para su salida y realizar aritmética de horas.

Clase datetime

La clase datetime combina las características de las clases date y time, proporcionando métodos para trabajar con fechas y horas en un solo objeto.

Clase timedelta

La clase timedelta representa una duración o la diferencia entre dos fechas u horas, lo que te permite realizar aritmética con fechas y horas sumando o restando objetos timedelta.

Clase tzinfo

La clase tzinfo te permite almacenar información de zonas horarias y realizar conversiones entre zonas horarias.

Formateo de fechas y horas para su salida

El método strftime de las clases date, time y datetime te permite formatear fechas y horas para su salida. El método toma una cadena de formato como argumento y devuelve una representación en cadena de la fecha u hora en el formato especificado.

Análisis de fechas y horas a partir de cadenas

El método strptime de la clase datetime te permite analizar fechas y horas a partir de cadenas. El método toma una cadena de formato como argumento y devuelve un objeto datetime.

Realización de aritmética de fechas

Puedes realizar aritmética con fechas y horas sumando o restando objetos timedelta. Esto facilita el cálculo de fechas y horas futuras o pasadas.

Conversiones de zonas horarias

Python 3.9+ incluye el módulo integrado zoneinfo para el soporte de zonas horarias, lo que simplifica las conversiones entre zonas horarias. (Para versiones anteriores de Python, se suele utilizar la biblioteca de terceros pytz.)

A continuación, se presentan algunos ejemplos para ayudarte a comenzar a utilizar el módulo datetime en Python.

Ejemplo 1: Formateo de una fecha y hora para su salida

Ejemplo de Python 1: Formateo de una fecha y hora para su salida

python
import datetime

# Get the current date and time
now = datetime.datetime.now()

# Format the date and time for output
output = now.strftime("%Y-%m-%d %H:%M:%S")

print(output)

Ejemplo 2: Análisis de una fecha y hora a partir de una cadena

Ejemplo de Python 2: Análisis de una fecha y hora a partir de una cadena

python
import datetime

# Define a date and time string
date_string = "2022-01-01 12:00:00"

# Parse the date and time string
parsed_datetime = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")

print(parsed_datetime)

Ejemplo 3: Realización de aritmética de fechas

Ejemplo de Python 3: Realización de aritmética de fechas

python
import datetime

# Get the current date and time
now = datetime.datetime.now()

# Calculate the date and time one week from now
one_week_from_now = now + datetime.timedelta(weeks=1)

print(one_week_from_now)

Ejemplo 4: Conversiones de zonas horarias

Ejemplo de Python 4: Conversiones de zonas horarias

python
import datetime
from zoneinfo import ZoneInfo

# Define a time zone
eastern = ZoneInfo("US/Eastern")

# Get the current date and time in the Eastern time zone
now_eastern = datetime.datetime.now(eastern)

# Convert the date and time to the UTC time zone
now_utc = now_eastern.astimezone(datetime.timezone.utc)

print(now_eastern)
print(now_utc)

Ejemplo 5: Formateo de un marcador de tiempo para su salida

Ejemplo de Python 5: Formateo de un marcador de tiempo para su salida

python
import datetime

# Get the current timestamp
timestamp = datetime.datetime.now().timestamp()

# Format the timestamp for output
output = datetime.datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S")

print(output)

Como puedes ver, el módulo datetime de Python proporciona una amplia gama de herramientas potentes y flexibles para trabajar con fechas y horas. Ya sea que necesites formatear fechas y horas para su salida, analizar fechas y horas a partir de cadenas, realizar aritmética de fechas o realizar conversiones de zonas horarias, el módulo datetime te cubre todas las necesidades. Con la ayuda de esta guía, podrás aprovechar al máximo el poder del módulo datetime para realizar una amplia variedad de tareas relacionadas con fechas y horas en Python.

Práctica

¿Cuáles son las formas válidas de crear un objeto de fecha en Python usando el módulo 'datetime' según el contenido de w3docs.com?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.