使用Timex间隔

时间:2019-02-18 15:04:27

标签: elixir timex

我有

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]]

但错过了最后一天(2月15日)。有什么办法可以哄骗Timex将边界添加到列表中?

1 个答案:

答案 0 :(得分:0)

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]]