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

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
- ¿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. - ¿Cómo creo un objeto datetime en Python?
Puedes crear un objeto datetime usando el constructordatetime.datetime()
, especificando el año, mes, día, hora, minuto, segundo y microsegundo según sea necesario. Por ejemplo:datetime.datetime(2025, 2, 1)
. - ¿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 atributomonth
o el métodostrftime()
con los códigos de formato%m
para el mes y%d
para el día. - ¿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étododate()
. - ¿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étodostrptime()
, y luego extraer el año usando cualquiera de los métodos discutidos anteriormente.
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