AuthManager.Tools.DateTools (auth_manager_core v0.1.1)

Utilidades para manipulación de fechas y tiempos.

Summary

Functions

Añade un número específico de días, meses o años a una fecha.

Calcula la edad en años a partir de una fecha de nacimiento.

Determina si una fecha está entre dos fechas.

Obtiene una lista de fechas en un rango.

Calcula la diferencia en días entre dos fechas.

Devuelve el fin del período (día, semana, mes, trimestre, año) para una fecha dada.

Convierte una fecha a una cadena formateada.

Devuelve el inicio del período (día, semana, mes, trimestre, año) para una fecha dada.

Convierte una fecha a formato ISO 8601.

Functions

add(date, opts)

Añade un número específico de días, meses o años a una fecha.

Ejemplos

iex> DateTools.add(~D[2023-05-15], days: 5)
~D[2023-05-20]

iex> DateTools.add(~D[2023-05-15], months: 2)
~D[2023-07-15]

iex> DateTools.add(~D[2023-05-15], years: 1)
~D[2024-05-15]

age_from_birthdate(birthdate)

Calcula la edad en años a partir de una fecha de nacimiento.

Ejemplos

iex> DateTools.age_from_birthdate(~D[1990-05-15])
# Retorna la edad actual, basada en la fecha actual

between?(date, from, to)

Determina si una fecha está entre dos fechas.

Ejemplos

iex> DateTools.between?(~D[2023-05-15], ~D[2023-05-10], ~D[2023-05-20])
true

date_range(from, to)

Obtiene una lista de fechas en un rango.

Ejemplos

iex> DateTools.date_range(~D[2023-05-15], ~D[2023-05-20])
[~D[2023-05-15], ~D[2023-05-16], ~D[2023-05-17], ~D[2023-05-18], ~D[2023-05-19], ~D[2023-05-20]]

days_between(date1, date2)

Calcula la diferencia en días entre dos fechas.

Ejemplos

iex> DateTools.days_between(~D[2023-05-15], ~D[2023-05-20])
5

end_of(atom, date)

Devuelve el fin del período (día, semana, mes, trimestre, año) para una fecha dada.

Ejemplos

iex> DateTools.end_of(:month, ~D[2023-05-15])
~D[2023-05-31]

iex> DateTools.end_of(:year, ~D[2023-05-15])
~D[2023-12-31]

format(date, format)

Convierte una fecha a una cadena formateada.

Ejemplos

iex> DateTools.format(~D[2023-05-15], "{YYYY}-{0M}-{0D}")
"2023-05-15"

iex> DateTools.format(~D[2023-05-15], "{D} de {Mfull} de {YYYY}")
"15 de mayo de 2023"

start_of(atom, date)

Devuelve el inicio del período (día, semana, mes, trimestre, año) para una fecha dada.

Ejemplos

iex> DateTools.start_of(:month, ~D[2023-05-15])
~D[2023-05-01]

iex> DateTools.start_of(:year, ~D[2023-05-15])
~D[2023-01-01]

to_iso8601(date)

Convierte una fecha a formato ISO 8601.

Ejemplos

iex> DateTools.to_iso8601(~D[2023-05-15])
"2023-05-15"

iex> DateTools.to_iso8601(~N[2023-05-15 10:30:45])
"2023-05-15T10:30:45"