Использование Timex Interval

У меня есть

Interval.new(from: start_date, until: end_date)

с [start_date, end_date] = [~N[2019-02-12 00:00:00.000000, ~N[2019-02-15 00:00:00.000000]

Проблема в том, что это генерирует даты:

[~N[2019-02-12 00:00:00.000000], ~N[2019-02-13 00:00:00.000000],
 ~N[2019-02-14 00:00:00.000000]]

но пропускает последний день (15 февраля). Можно ли как-то уговорить Timex добавить эту границу в список?

1 ответ

Решение

Timex.Interval.new/1 имеет отличную документацию, которая четко упоминает right_open: true параметр.


Документация не совсем точная, хотя:) Это должно быть right_open: false FWIW.

[start_date, end_date] =
  [~N[2019-02-12 00:00:00.000000], ~N[2019-02-15 00:00:00.000000]]

Timex.Interval.new(
  from: start_date, until: end_date,
  left_open: false, right_open: false
)
|> Enum.to_list
#⇒ [~N[2019-02-12 00:00:00.000000], ~N[2019-02-13 00:00:00.000000],
#   ~N[2019-02-14 00:00:00.000000], ~N[2019-02-15 00:00:00.000000]]
Другие вопросы по тегам