La librería Datetime
Para manejar fechas en Python se suele utilizar la librería datetime
que incorpora los tipos de datos date
, time
y datetime
para representar fechas y funciones para manejarlas. Algunas de las operaciones más habituales que permite son:
- Acceder a los distintos componentes de una fecha (año, mes, día, hora, minutos, segundos y microsegundos).
- Convertir cadenas con formato de fecha en los tipos
date
,time
odatetime
. - Convertir fechas de los tipos
date
,time
odatetime
en cadenas formateadas de acuerdo a diferentes formatos de fechas. - Hacer aritmética de fechas (sumar o restar fechas).
- Comparar fechas.
Los tipos de datos date
, time
y datetime
date(año, mes, dia)
: Devuelve un objeto de tipodate
que representa la fecha con elaño
,mes
ydia
indicados.time(hora, minutos, segundos, microsegundos)
: Devuelve un objeto de tipotime
que representa un tiempo lahora
,minutos
,segundos
ymicrosegundos
indicados.datetime(año, mes, dia, hora, minutos, segundos, microsegundos)
: Devuelve un objeto de tipodatetime
que representa una fecha y hora con elaño
,mes
,dia
,hora
,minutos
,segundos
ymicrosegundos
indicados.
--
Acceso a los componentes de una fecha
date.today()
: Devuelve un objeto del tipodate
la fecha del sistema en el momento en el que se ejecuta.datetime.now()
: Devuelve un objeto del tipodatetime
con la fecha y la hora del sistema en el momento exacto en el que se ejecuta.d.year
: Devuelve el año de la fechad
, puede ser del tipodate
odatetime
.d.month
: Devuelve el mes de la fechad
, que puede ser del tipodate
odatetime
.d.day
: Devuelve el día de la fechad
, que puede ser del tipodate
odatetime
.d.weekday()
: Devuelve el día de la semana de la fechad
, que puede serpuede ser del tipodate
odatetime
.t.hour
: Devuelve las horas del tiempot
, que puede ser del tipotime
odatetime
.t.hour
: Devuelve los minutos del tiempot
, que puede ser del tipotime
odatetime
.t.second
: Devuelve los segundos del tiempot
, que puede ser del tipotime
odatetime
.t.microsecond
: Devuelve los microsegundos del tiempot
, que puede ser del tipotime
odatetime
.
Conversión de fechas en cadenas con diferentes formatos
d.strftime(formato)
: Devuelve la cadena que resulta de transformar la fechad
con el formato indicado en la cadenaformato
. La cadenaformato
puede contener los siguientes marcadores de posición:%Y
(año completo),%y
(últimos dos dígitos del año),%m
(mes en número),%B
(mes en palabra),%d
(día),%A
(día de la semana),%a
(día de la semana abrevidado),%H
(hora en formato 24 horas),%I
(hora en formato 12 horas),%M
(minutos),%S
(segundos),%p
(AM o PM),%C
(fecha y hora completas),%x
(fecha completa),%X
(hora completa).
Conversión de cadenas en fechas
strptime(s, formato)
: Devuelve el objeto de tipodate
,time
odatetime
que resulta de convertir la cadenas
de acuerdo al formato indicado en la cadenaformato
. La cadenaformato
puede contener los siguientes marcadores de posición:%Y
(año completo),%y
(últimos dos dígitos del año),%m
(mes en número),%B
(mes en palabra),%d
(día),%A
(día de la semana),%a
(día de la semana abrevidado),%H
(hora en formato 24 horas),%I
(hora en formato 12 horas),%M
(minutos),%S
(segundos),%p
(AM o PM),%C
(fecha y hora completas),%x
(fecha completa),%X
(hora completa).
Aritmética de fechas
Para representar el tiempo transcurrido entre dos fechas se utiliza el tipo timedelta
.
timedelta(dias, segundos, microsegundos)
: Devuelve un objeto del tipotimedelta
que representa un intervalo de tiempo con losdias
,segundos
ymicorsegundos
indicados.d1 - d2
: Devuelve un objeto del tipotimedelta
que representa el tiempo transcurrido entre las fechasd1
yd2
del tipodatetime
.d + delta
: Devuelve la fecha del tipodatetime
que resulta de sumar a la fechad
el intervalo de tiempodelta
, dondedelta
es del tipotimedelta
.