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,timeodatetime. - Convertir fechas de los tipos
date,timeodatetimeen 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 tipodateque representa la fecha con elaño,mesydiaindicados.time(hora, minutos, segundos, microsegundos): Devuelve un objeto de tipotimeque representa un tiempo lahora,minutos,segundosymicrosegundosindicados.datetime(año, mes, dia, hora, minutos, segundos, microsegundos): Devuelve un objeto de tipodatetimeque representa una fecha y hora con elaño,mes,dia,hora,minutos,segundosymicrosegundosindicados.
--
Acceso a los componentes de una fecha
date.today(): Devuelve un objeto del tipodatela fecha del sistema en el momento en el que se ejecuta.datetime.now(): Devuelve un objeto del tipodatetimecon 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 tipodateodatetime.d.month: Devuelve el mes de la fechad, que puede ser del tipodateodatetime.d.day: Devuelve el día de la fechad, que puede ser del tipodateodatetime.d.weekday(): Devuelve el día de la semana de la fechad, que puede serpuede ser del tipodateodatetime.t.hour: Devuelve las horas del tiempot, que puede ser del tipotimeodatetime.t.hour: Devuelve los minutos del tiempot, que puede ser del tipotimeodatetime.t.second: Devuelve los segundos del tiempot, que puede ser del tipotimeodatetime.t.microsecond: Devuelve los microsegundos del tiempot, que puede ser del tipotimeodatetime.
Conversión de fechas en cadenas con diferentes formatos
d.strftime(formato): Devuelve la cadena que resulta de transformar la fechadcon el formato indicado en la cadenaformato. La cadenaformatopuede 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,timeodatetimeque resulta de convertir la cadenasde acuerdo al formato indicado en la cadenaformato. La cadenaformatopuede 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 tipotimedeltaque representa un intervalo de tiempo con losdias,segundosymicorsegundosindicados.d1 - d2: Devuelve un objeto del tipotimedeltaque representa el tiempo transcurrido entre las fechasd1yd2del tipodatetime.d + delta: Devuelve la fecha del tipodatetimeque resulta de sumar a la fechadel intervalo de tiempodelta, dondedeltaes del tipotimedelta.