gpt4 book ai didi

elixir - 如何创建流和日期列表

转载 作者:行者123 更新时间:2023-12-04 11:04:11 25 4
gpt4 key购买 nike

我想用从 startdate 到 enddate 的值创建一个日期列表

这类似于 How to create a range of dates in R但在 Elixir 中。

由于列表可能很大或有时是无限的(即没有结束日期),我还想知道如何创建日期流。

最佳答案

 start_date = Calendar.Date.from_erl!({2014,12,27})
date_stream = Stream.iterate(start_date, &(Calendar.Date.next_day!(&1)))
Enum.take(date_stream, 10)

#=>
[%Calendar.Date{day: 27, month: 12, year: 2014},
%Calendar.Date{day: 28, month: 12, year: 2014},
%Calendar.Date{day: 29, month: 12, year: 2014},
%Calendar.Date{day: 30, month: 12, year: 2014},
%Calendar.Date{day: 31, month: 12, year: 2014},
%Calendar.Date{day: 1, month: 1, year: 2015},
%Calendar.Date{day: 2, month: 1, year: 2015},
%Calendar.Date{day: 3, month: 1, year: 2015},
%Calendar.Date{day: 4, month: 1, year: 2015},
%Calendar.Date{day: 5, month: 1, year: 2015}]

感谢 José Valim 指出正确的方向。

关于elixir - 如何创建流和日期列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30951318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com