Home / Lenguajes / Obtén la hora actual en Python de forma fácil con Datetime
Obtén la hora actual en Python de forma fácil con Datetime

Obtén la hora actual en Python de forma fácil con Datetime

11 August 2025 · 5 min de lectura
Categorías:

Introducción a la manipulación de fechas y horas en Python

En el desarrollo de aplicaciones con Python, la gestión de fechas y horas es una tarea común y fundamental. La biblioteca Datetime de Python es la herramienta principal que facilita esta labor, permitiendo realizar operaciones complejas con fechas y horas de manera sencilla y eficiente.

El objeto central para trabajar con fechas y horas es el objeto de fecha y hora de Datetime , que representa un punto específico en el tiempo. Por ejemplo, para obtener la fecha y hora actual del sistema, se puede utilizar el siguiente código:

import datetime

fecha_actual = datetime.datetime.now()
print(fecha_actual)

Este fragmento importa la biblioteca Datetime y utiliza la función now() para capturar la fecha y hora actuales, mostrando un resultado similar a:

2022-05-18 20:09:24.967527

Además de now() , la biblioteca ofrece funciones como today() , strftime() , date() , time() , y timedelta() , cada una diseñada para diferentes necesidades en la manipulación de fechas y horas.

Por ejemplo, para trabajar con fechas específicas y formatearlas, se puede usar:

import datetime

fecha = datetime.date(2022, 5, 18)
print(fecha.strftime('%d-%m-%Y'))

El resultado será:

18-05-2022

La biblioteca Datetime de Python es esencial para cualquier proyecto que requiera un manejo preciso y flexible de fechas y horas.

Creación y manipulación de objetos datetime

El módulo datetime permite crear objetos que representan fechas y horas específicas. La clase principal es datetime , que se instancia con los parámetros año, mes, día, hora, minuto, segundo y microsegundo:

fecha_hora = datetime.datetime(year, month, day, hour, minute, second, microsecond)

Si algunos valores no son relevantes, pueden establecerse en cero. Para obtener la fecha y hora actual, se utiliza:

ahora = datetime.datetime.now()

Y para extraer solo la hora actual del sistema:

hora_actual = ahora.time()

Una vez creado un objeto datetime , se pueden obtener sus componentes individuales, como el año:

año = fecha_hora.year

Para convertir la fecha y hora a texto con un formato específico, se emplea el método strftime() :

texto_fecha_hora = fecha_hora.strftime('%Y-%m-%d %H:%M:%S')

Este formato corresponde al estándar ISO 8601, ampliamente utilizado para representar fechas y horas.

Para realizar operaciones con fechas, como sumar un día, se usa timedelta() :

un_dia = datetime.timedelta(days=1)
fecha_futura = fecha_actual + un_dia

Este método también permite restar días, horas, minutos o segundos, facilitando la manipulación temporal en los programas.

Obtención de la hora actual en Python con Datetime

Para obtener la hora y fecha actual en Python, el módulo datetime ofrece una solución directa y eficiente. Tras importar el módulo:

import datetime

Se puede llamar a datetime.now() para capturar la fecha y hora del sistema:

ahora = datetime.datetime.now()
print("La hora actual es:", ahora)

La salida típica es:

La hora actual es: 2022-01-01 12:34:56.789012

Este método utiliza la zona horaria local del sistema. Para trabajar con otras zonas horarias, se puede usar la clase datetime.timezone y pasarla como argumento:

import datetime

tz = datetime.timezone(datetime.timedelta(hours=-5))  # Zona horaria GMT-5
ahora = datetime.datetime.now(tz)

print("La hora actual en GMT-5 es:", ahora)

El resultado será:

La hora actual en GMT-5 es: 2022-01-01 07:34:56.789012-05:00

Manejo avanzado de zonas horarias con pytz

Para proyectos que requieren trabajar con múltiples zonas horarias, la librería pytz es una herramienta indispensable. Permite definir zonas horarias específicas y convertir fechas y horas entre ellas.

Por ejemplo, para obtener la hora actual en Ciudad de México, Londres y Nueva York:

import pytz
from datetime import datetime

ciudad_de_mexico = pytz.timezone('America/Mexico_City')
londres = pytz.timezone('Europe/London')
nueva_york = pytz.timezone('America/New_York')

hora_ciudad_de_mexico = datetime.now(tz=ciudad_de_mexico)
hora_londres = datetime.now(tz=londres)
hora_nueva_york = datetime.now(tz=nueva_york)

print("La hora actual en Ciudad de México es:", hora_ciudad_de_mexico.strftime('%H:%M:%S'))
print("La hora actual en Londres es:", hora_londres.strftime('%H:%M:%S'))
print("La hora actual en Nueva York es:", hora_nueva_york.strftime('%H:%M:%S'))

La salida mostrará las horas locales en cada ciudad:

La hora actual en Ciudad de México es: 12:34:56
La hora actual en Londres es: 17:34:56
La hora actual en Nueva York es: 12:34:56

Para convertir una fecha y hora de una zona a otra, se utiliza el método astimezone() :

import pytz
from datetime import datetime

ciudad_de_mexico = pytz.timezone('America/Mexico_City')
londres = pytz.timezone('Europe/London')

hora_londres = datetime.now(tz=londres)
hora_londres = hora_londres.astimezone(ciudad_de_mexico)

print("La hora actual en Londres convertida a Ciudad de México es:", hora_londres.strftime('%H:%M:%S'))

El resultado será:

La hora actual en Londres convertida a Ciudad de México es: 11:34:56

La librería pytz facilita el trabajo con múltiples zonas horarias, permitiendo manejar fechas y horas globalmente sin complicaciones.

Formateo personalizado de fechas y horas

El método strftime() del módulo Datetime permite personalizar la presentación de fechas y horas mediante códigos de formato. Esto es útil para mostrar la información de forma clara y adaptada a las necesidades del usuario.

Por ejemplo, para mostrar la hora actual en formato de 24 horas:

from datetime import datetime
now = datetime.now()
hora_actual = now.strftime("%H:%M:%S")
print("La hora actual es:", hora_actual)

El resultado será:

La hora actual es: 11:30:45

Para incluir la fecha junto con la hora:

from datetime import datetime
now = datetime.now()
fecha_hora_actual = now.strftime("%Y-%m-%d %H:%M:%S")
print("La fecha y hora actuales son:", fecha_hora_actual)

Mostrando:

La fecha y hora actuales son: 2022-06-22 11:30:45

También es posible crear formatos personalizados, como mostrar el nombre completo del mes:

from datetime import datetime
now = datetime.now()
fecha_actual = now.strftime("%d de %B de %Y")
print("La fecha actual es:", fecha_actual)

Con salida:

La fecha actual es: 22 de junio de 2022

El módulo Datetime ofrece una gran flexibilidad para presentar fechas y horas de manera legible y adaptada a cualquier contexto.

Conclusiones

El manejo de fechas y horas en Python es una tarea que puede parecer compleja, pero con la biblioteca Datetime y herramientas complementarias como pytz, se vuelve accesible y eficiente. Desde obtener la hora actual hasta manipular múltiples zonas horarias y personalizar formatos, estas herramientas permiten desarrollar aplicaciones robustas y precisas en cuanto a tiempo.

Dominar estas técnicas es fundamental para cualquier programador que trabaje con datos temporales, ya que garantiza que las aplicaciones funcionen correctamente en diferentes contextos y regiones geográficas. La flexibilidad y potencia de estas bibliotecas hacen que la gestión de fechas y horas sea una tarea sencilla y profesional.