AuthManager.Tools.DateTools (auth_manager v0.1.0)
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
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]
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
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
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]]
Calcula la diferencia en días entre dos fechas.
Ejemplos
iex> DateTools.days_between(~D[2023-05-15], ~D[2023-05-20])
5
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]
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"
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]
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"