Resuelve AuthPlug v1.3.0 ResuelveAuth.Utils.Calendar View Source

Encapsula las funciones relacionadas con la fecha. Si se requiere usar alguna biblioteca de tiempo, aquí debe agregarse la funcionalidad deseada. En el proyecto solo se deben encontrar llamadas al módulo de Calendar para facilitar el mantenimiento del código.

Link to this section Summary

Functions

Regresa la diferencia en horas de dos fechas enviadas como parámetros en formato unix.

Convierte un valor de unix_time a una estructura DateTime.

Identifica si la fecha enviada como Unix time es pasada. En caso de mandar un valor que no sea entero, regresa true por defecto.

Regresa la fecha actual en unix time.

Link to this section Functions

Link to this function

diff(first_time, second_time) View Source
diff(integer(), integer()) :: integer()

Regresa la diferencia en horas de dos fechas enviadas como parámetros en formato unix.

Ejemplo:


iex> {ayer, ahora} = {1577646287000, 1577733231563}
iex> {:ok, first} = DateTime.from_unix(ayer, :millisecond)
iex> {:ok, second} = DateTime.from_unix(ahora, :millisecond)
iex> ResuelveAuth.Utils.Calendar.diff(first, second)
- 24

iex> {ayer, ahora} = {1577646287000, 1577733231563}
iex> {:ok, first} = DateTime.from_unix(ayer, :millisecond)
iex> {:ok, second} = DateTime.from_unix(ahora, :millisecond)
iex> ResuelveAuth.Utils.Calendar.diff(second, first)
24
Link to this function

from_unix(timestamp) View Source
from_unix(integer()) ::
  {:ok,
   %DateTime{
     calendar: term(),
     day: term(),
     hour: term(),
     microsecond: term(),
     minute: term(),
     month: term(),
     second: term(),
     std_offset: term(),
     time_zone: term(),
     utc_offset: term(),
     year: term(),
     zone_abbr: term()
   }}
  | {:error, any()}

Convierte un valor de unix_time a una estructura DateTime.


iex> alias ResuelveAuth.Utils.Calendar
iex> {:ok, %DateTime{} = date} = Calendar.from_unix(1572617244)
iex> DateTime.to_unix(date)
1572617

iex> alias ResuelveAuth.Utils.Calendar
iex> Calendar.from_unix(1724.0)
{:error, :invalid_unix_time}

iex> alias ResuelveAuth.Utils.Calendar
iex> Calendar.from_unix("algo")
{:error, :invalid_unix_time}
Link to this function

is_past?(unix_time) View Source
is_past?(integer()) :: boolean()

Identifica si la fecha enviada como Unix time es pasada. En caso de mandar un valor que no sea entero, regresa true por defecto.

Ejemplos


   iex> alias ResuelveAuth.Utils.Calendar
   iex> unix_time = 1572617244
   iex> Calendar.is_past?(unix_time)
   true

   iex> alias ResuelveAuth.Utils.Calendar
   iex> unix_time = 4128685709000
   iex> Calendar.is_past?(unix_time)
   false

   iex> alias ResuelveAuth.Utils.Calendar
   iex> Calendar.is_past?("2100-02-29T12:30:30+00:00")
   true

Regresa la fecha actual en unix time.

Ejemplo:


> ResuelveAuth.Utils.Calendar.unix_now()
1577733231563