Cómo obtener el año de un objeto datetime en Python

  1. Comprendiendo el Módulo Datetime de Python
  2. Método 1: Usando el Atributo year
  3. Método 2: Usando el Método strftime()
  4. Método 3: Usando el Método date()
  5. Conclusión
  6. Preguntas Frecuentes
Cómo obtener el año de un objeto datetime en Python

El módulo datetime de Python es una herramienta poderosa para manejar fechas y horas, permitiendo a los desarrolladores manipular y dar formato a datos relacionados con fechas fácilmente. Una tarea común es extraer el año de un objeto datetime, lo cual puede ser esencial para diversas aplicaciones, como análisis de datos, registro de actividades o incluso simple formateo de fechas. Este artículo explorará diferentes métodos para extraer el año de un objeto datetime en Python, proporcionando ejemplos claros y explicaciones para guiarte a través del proceso. Ya seas un principiante o un programador experimentado, encontrarás información valiosa sobre cómo trabajar de manera eficiente con objetos datetime en Python.

Comprendiendo el Módulo Datetime de Python

Antes de sumergirse en los métodos para extraer el año, es esencial comprender los conceptos básicos del módulo datetime. Este módulo proporciona clases para manipular fechas y horas. La clase más comúnmente utilizada es datetime.datetime, que combina tanto la fecha como la hora en un solo objeto.

Para comenzar con la manipulación de datetime, primero necesitas importar el módulo:

import datetime

Una vez que hayas importado el módulo, puedes crear objetos datetime y comenzar a extraer el año.

Método 1: Usando el Atributo year

Una de las maneras más simples de obtener el año de un objeto datetime es usando el atributo year. Cuando creas un objeto datetime, este contiene varios atributos, incluyendo año, mes, día, hora, minuto, segundo y microsegundo.

Aquí te mostramos cómo hacerlo:

import datetime

# Create a datetime object for a specific date
dt = datetime.datetime(2025, 2, 1)

# Extract the year using the year attribute
year = dt.year
print(year)

Salida:

2025

El atributo year accede directamente al componente del año del objeto datetime. Este método es directo y eficiente, lo que lo hace ideal para extracciones rápidas. Cuando creas un objeto datetime utilizando el constructor datetime.datetime(), especificas el año, mes y día. El atributo year devuelve el año como un entero, que puedes utilizar en cálculos u operaciones posteriores.

Este método es particularmente útil cuando necesitas realizar operaciones basadas en el año, como filtrar registros por año en un conjunto de datos o generar informes que requieran resúmenes anuales. También vale la pena mencionar que este método funciona sin problemas con objetos datetime creados a partir de diversas fuentes, incluyendo cadenas o marcas de tiempo.

Método 2: Usando el Método strftime()

Otra forma efectiva de extraer el año de un objeto datetime es usando el método strftime(). Este método permite formatear objetos datetime como cadenas basadas en un formato específico. Para recuperar solo el año, puedes usar el código de formato %Y.

Aquí hay un ejemplo que demuestra este método:

import datetime

# Create a datetime object for a specific date
dt = datetime.datetime(2025, 10, 1)

# Extract the year using strftime()
year = dt.strftime("%Y")
print(year)

Salida:

2025

El método strftime() es versátil y puede formatear objetos datetime de varias maneras. Al pasar la cadena de formato "%Y", le indicas a Python que devuelva solo el año como una cadena. Este método es particularmente útil cuando necesitas el año en un formato específico, como para fines de visualización o al generar informes.

Además, strftime() puede usarse para extraer otros componentes del objeto datetime, como mes y día, utilizando diferentes códigos de formato. Por ejemplo, %m te da el mes, y %d proporciona el día. Esta flexibilidad hace que strftime() sea una herramienta poderosa para formatear y manipular información de fecha y hora.

Método 3: Usando el Método date()

Si tienes un objeto datetime y deseas extraer el año a través de un proceso de dos pasos, primero puedes convertir el objeto datetime a un objeto date usando el método date(). Después de eso, puedes acceder al atributo year del objeto date resultante.

Aquí te mostramos cómo implementar este método:

import datetime

# Create a datetime object for a specific date
dt = datetime.datetime(2025, 10, 1)

# Convert the datetime object to a date object
date_obj = dt.date()

# Extract the year from the date object
year = date_obj.year
print(year)

Salida:

2025

En este método, primero convertimos el objeto datetime a un objeto date utilizando el método date(). El objeto date contiene solo la información de la fecha (año, mes y día) y excluye el componente de tiempo. Después de convertir, podemos acceder fácilmente al atributo year del objeto date.

Este enfoque es particularmente útil cuando deseas descartar completamente el componente de tiempo y centrarte únicamente en la fecha. También puede ser beneficioso al trabajar con bibliotecas o funciones que requieren objetos date en lugar de objetos datetime. El proceso de dos pasos permite una mayor flexibilidad al manipular datos relacionados con fechas.

Conclusión

Extraer el año de un objeto datetime en Python es una tarea sencilla, y hay varios métodos para lograr esto, incluyendo el uso del atributo year, el método strftime() y el método date(). Cada método tiene sus ventajas, y la elección de cuál usar depende de tus necesidades específicas y del contexto de tu proyecto. Al dominar estas técnicas, puedes manejar de manera eficiente los datos de fechas y horas en tus aplicaciones de Python, mejorando tus habilidades de programación y aumentando tu productividad general.

Preguntas Frecuentes

  1. ¿Qué es un objeto datetime en Python?
    Un objeto datetime en Python representa un punto específico en el tiempo, incluyendo tanto componentes de fecha como de hora. Es parte del módulo datetime, que proporciona varias clases y métodos para manipular datos de fecha y hora.
  2. ¿Cómo creo un objeto datetime en Python?
    Puedes crear un objeto datetime usando el constructor datetime.datetime(), especificando el año, mes, día, hora, minuto, segundo y microsegundo según sea necesario. Por ejemplo: datetime.datetime(2025, 2, 1).
  3. ¿Puedo extraer el mes y el día usando métodos similares?
    Sí, puedes extraer el mes y el día utilizando los mismos métodos discutidos en este artículo. Por ejemplo, puedes usar el atributo month o el método strftime() con los códigos de formato %m para el mes y %d para el día.
  4. ¿Cuál es la diferencia entre un objeto datetime y un objeto date?
    Un objeto datetime incluye tanto componentes de fecha como de hora, mientras que un objeto date contiene solo la fecha (año, mes, día) sin ninguna información de tiempo. Puedes convertir un objeto datetime en un objeto date usando el método date().
  5. ¿Es posible extraer el año de una fecha en formato de cadena?
    Sí, puedes convertir una representación de cadena de una fecha en un objeto datetime utilizando el método strptime(), y luego extraer el año usando cualquiera de los métodos discutidos anteriormente.
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Artículo relacionado - Python DateTime