Summary
Functions
iex> beginning_of_day(~U[2026-05-12 19:43:50.393307Z]) ~U[2026-05-12 00:00:00Z] iex> beginning_of_day(~U[2027-11-21 11:23:20.333917Z]) ~U[2027-11-21 00:00:00Z] iex> beginning_of_day(~U[2020-01-01 00:00:00Z]) ~U[2020-01-01 00:00:00Z]
iex> beginning_of_hour(~U[2026-05-12 19:43:50.393307Z]) ~U[2026-05-12 19:00:00Z] iex> beginning_of_hour(~U[2027-11-21 11:23:20.333917Z]) ~U[2027-11-21 11:00:00Z] iex> beginning_of_hour(~U[2020-01-01 00:00:00Z]) ~U[2020-01-01 00:00:00Z]
iex> beginning_of_month(~U[2026-05-12 19:43:50.393307Z]) ~U[2026-05-01 00:00:00Z] iex> beginning_of_month(~U[2027-11-21 11:23:20.333917Z]) ~U[2027-11-01 00:00:00Z] iex> beginning_of_month(~U[2020-01-01 00:00:00Z]) ~U[2020-01-01 00:00:00Z]
iex> m4 = ~U[2026-04-12 00:00:00.00Z] iex> m5 = ~U[2026-05-12 00:00:00.00Z] iex> m6 = ~U[2026-06-12 00:00:00.00Z] iex> m7 = ~U[2026-07-12 00:00:00.00Z] iex> between?(m4, %{start_at: m4, end_at: m5}) true iex> between?(m5, %{start_at: m4, end_at: m6}) true iex> between?(m6, %{start_at: m6, end_at: m7}) true iex> between?(m5, %{start_at: m6, end_at: m7}) false
Functions
@spec beginning_of_day(DateTime.t()) :: DateTime.t()
iex> beginning_of_day(~U[2026-05-12 19:43:50.393307Z]) ~U[2026-05-12 00:00:00Z] iex> beginning_of_day(~U[2027-11-21 11:23:20.333917Z]) ~U[2027-11-21 00:00:00Z] iex> beginning_of_day(~U[2020-01-01 00:00:00Z]) ~U[2020-01-01 00:00:00Z]
@spec beginning_of_hour(DateTime.t()) :: DateTime.t()
iex> beginning_of_hour(~U[2026-05-12 19:43:50.393307Z]) ~U[2026-05-12 19:00:00Z] iex> beginning_of_hour(~U[2027-11-21 11:23:20.333917Z]) ~U[2027-11-21 11:00:00Z] iex> beginning_of_hour(~U[2020-01-01 00:00:00Z]) ~U[2020-01-01 00:00:00Z]
@spec beginning_of_month(DateTime.t()) :: DateTime.t()
iex> beginning_of_month(~U[2026-05-12 19:43:50.393307Z]) ~U[2026-05-01 00:00:00Z] iex> beginning_of_month(~U[2027-11-21 11:23:20.333917Z]) ~U[2027-11-01 00:00:00Z] iex> beginning_of_month(~U[2020-01-01 00:00:00Z]) ~U[2020-01-01 00:00:00Z]
@spec between?(DateTime.t(), %{start_at: DateTime.t(), end_at: DateTime.t()}) :: boolean()
iex> m4 = ~U[2026-04-12 00:00:00.00Z] iex> m5 = ~U[2026-05-12 00:00:00.00Z] iex> m6 = ~U[2026-06-12 00:00:00.00Z] iex> m7 = ~U[2026-07-12 00:00:00.00Z] iex> between?(m4, %{start_at: m4, end_at: m5}) true iex> between?(m5, %{start_at: m4, end_at: m6}) true iex> between?(m6, %{start_at: m6, end_at: m7}) true iex> between?(m5, %{start_at: m6, end_at: m7}) false