Timex `between?` is exclusive but can be inclusive
Timex.between?
is a great function for determining if a time is in a specific time period, but it's exclusive, so if you are testing for a time at the boundary the result will be negative.
iex> end_time = Timex.now()
iex> start_time = Timex.shift(end_time, days: -7)
iex> time = start_time
iex> Timex.between?(time, start_time, end_time)
false
Never fear, you can pass an inclusive option:
iex> Timex.between?(time, start_time, end_time, inclusive: true)
true
But you don't have to be inclusive on both sides! Here, I pass :end
so that I am only inclusive at the end of my time period.
iex> Timex.between?(time, start_time, end_time, inclusive: :end)
false
And of course I can be only inclusive at the beginning of the period if I prefer:
iex> Timex.between?(time, start_time, end_time, inclusive: :start)
true
Tweet