preloader

Funcionalidades de series temporales

Índice de contenido

La librería de estándar de Python cuenta con el módulo datetime, que nos permite trabajar con fechas y horas.

python
import datetime

Es conveniente conocer algunos de los tipos en los que se basa:

datetime.date

Información

La clase datetime.date se utiliza para fechas.

Parámetros

Una instancia de este tipo puede generarse especificando los siguientes parámetros:

datetime.date(year, month, day)

python
fecha = datetime.date(2020, 9, 1)
fecha
datetime.date(2020, 9, 1)

Otras opciones para generarlo

También puede generarse de las siguientes maneras:

python
hoy = datetime.date.today()
hoy
datetime.date(2020, 10, 11)
python
datetime.date.fromisocalendar(year = 2020,
                              week = 20,
                              day = 2)
datetime.date(2020, 5, 12)

Atributos

  • year
  • month
  • day
python
year_today = hoy.year
year_today
2020
python
hoy.month
10
python
hoy.day
11

Operaciones posibles

  • date2 = date1 + timedelta (date2 son los días de tipo timedelta.days, restados de date1)
  • date2 = date1 - timedelta
  • timedelta = date1 - date2
  • date1 < date2 (y otro tipo de comparaciones)
python
fecha
datetime.date(2020, 9, 1)
python
hoy
datetime.date(2020, 10, 11)
python
fecha < hoy 
True

Métodos de instancia

python
fecha1 = datetime.date(2020, 8, 1)
fecha1
datetime.date(2020, 8, 1)
python
# El lunes es 0 y el domingo es 6
fecha1.weekday()
5
python
# El lunes es 1 y el domingo es 7
fecha1.isoweekday()
6

datetime.time

Información

La clase datetime.time se utiliza para tiempos.

Parámetros

Una instancia de este tipo puede generarse especificando los siguientes parámetros:

datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

Para especificar tzinfo:

python
datetime.time(12, 35)
datetime.time(12, 35)
python
tz_info = datetime.timezone.utc
tz_info
datetime.timezone.utc
python
hora2 = datetime.time(12, 35, tzinfo = tz_info)
hora2
datetime.time(12, 35, tzinfo=datetime.timezone.utc)

Otras opciones para generarlo

python
hora = datetime.time.fromisoformat("12:35:40")
hora
datetime.time(12, 35, 40)
python
hora_3 = datetime.time.fromisoformat("12:35")
hora_3
datetime.time(12, 35)

Atributos

  • hour
  • minute
  • second
  • microsecond
  • tzinfo
python
hora.hour
12
python
print(hora.tzinfo)
None
python
hora2.tzinfo
datetime.timezone.utc

Operaciones posibles

time1 < time2 (y otro tipo de comparaciones)

python
hora < hora_3
False

Métodos de instancia

python
hora2
datetime.time(12, 35, tzinfo=datetime.timezone.utc)
python
hora2.tzname()
'UTC'

datetime.datetime

Información

La clase datetime.datetime se utiliza para combinaciones de fecha y hora.

Parámetros

datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

python
dtime = datetime.datetime(2020, 8, 1, 19, 20, 55)
dtime
datetime.datetime(2020, 8, 1, 19, 20, 55)
python
dtime2 = datetime.datetime(2020, 8, 1, 19, 20, 55, tzinfo = datetime.timezone.utc)
dtime2
datetime.datetime(2020, 8, 1, 19, 20, 55, tzinfo=datetime.timezone.utc)

Otras opciones para generarlo

python
datetime.datetime.today()
datetime.datetime(2020, 10, 12, 9, 35, 15, 817572)
python
ahora = datetime.datetime.now()
ahora
datetime.datetime(2020, 10, 12, 9, 36, 25, 92534)

Atributos

  • year
  • month
  • day
  • hour
  • minute
  • second
  • microsecond
  • tzinfo
python
ahora.year
2020
python
print(ahora.tzinfo)
None

Operaciones posibles

  • datetime2 = datetime1 + timedelta
  • datetime2 = datetime1 - timedelta
  • timedelta = datetime1 - datetime2
  • datetime1 < datetime2 (y otro tipo de comparaciones)
python
dtime
datetime.datetime(2020, 8, 1, 19, 20, 55)
python
dtime2 = datetime.datetime(2020, 8, 2, 19, 20, 55)
dtime2
datetime.datetime(2020, 8, 2, 19, 20, 55)
python
dtime2 - dtime
datetime.timedelta(days=1)
python
dtime2 > dtime
True

Métodos de instancia

python
dtime
datetime.datetime(2020, 8, 1, 19, 20, 55)
python
dtime.time()
datetime.time(19, 20, 55)
python
dtime.date()
datetime.date(2020, 8, 1)
python
# Lunes es 0
dtime.weekday()
5
python
# Lunes es 1
dtime.isoweekday()
6

datetime.timedelta

Información

La clase datetime.timedelta se utiliza para duraciones, expresando la diferencia entre dos instancias de tipo date, time o datetime, con resolución de microsegundos.

Parámetros

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

python
tdelta = datetime.timedelta(5, 10)
tdelta
datetime.timedelta(days=5, seconds=10)

Otras opciones para generarlo

python
momento1 = datetime.datetime(2020, 5, 1)
momento1
datetime.datetime(2020, 5, 1, 0, 0)
python
momento2 = datetime.datetime(2020, 5, 6)
momento2
datetime.datetime(2020, 5, 6, 0, 0)
python
tdelta2 = momento2 - momento1
tdelta2
datetime.timedelta(days=5)

Atributos

  • days
  • seconds
  • microseconds
python
tdelta
datetime.timedelta(days=5, seconds=10)
python
tdelta.days
5
python
tdelta.seconds
10
python
tdelta.microseconds
0

Operaciones posibles

  • t1 = t2 + t3
  • t1 = t2 - t3
  • f = t2 / t3
  • t1 != t2 (y otro tipo de comparaciones)
  • Etc.
python
tdelta
datetime.timedelta(days=5, seconds=10)
python
tdelta2
datetime.timedelta(days=5)
python
result = tdelta == tdelta2 
result
False

Métodos de instancia

python
tdelta
datetime.timedelta(days=5, seconds=10)
python
tdelta.total_seconds()
432010.0
comments powered by Disqus