加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

迭代日期范围(scala方式)

发布时间:2020-12-16 19:13:38 所属栏目:安全 来源:网络整理
导读:鉴于开始日期和结束日期,我希望白天使用foreach,map或类似函数对其进行迭代.就像是 (DateTime.now to DateTime.now + 5.day by 1.day).foreach(println) 我正在使用https://github.com/nscala-time/nscala-time,但如果我使用上面的语法,我会返回一个joda Int
鉴于开始日期和结束日期,我希望白天使用foreach,map或类似函数对其进行迭代.就像是

(DateTime.now to DateTime.now + 5.day by 1.day).foreach(println)

我正在使用https://github.com/nscala-time/nscala-time,但如果我使用上面的语法,我会返回一个joda Interval对象,我怀疑它也不是一系列日期,而是一系列毫秒.

编辑:这个问题已经过时了.正如joda主页上所建议的那样,如果您使用的是Java 8,则应该从java.time开始或迁移到java.time.

解决方法

你可以使用plusDays:

val now = DateTime.now
(0 until 5).map(now.plusDays(_)).foreach(println)

给定开始和结束日期:

import org.joda.time.Days

val start = DateTime.now.minusDays(5)
val end   = DateTime.now.plusDays(5)    

val daysCount = Days.daysBetween(start,end).getDays()
(0 until daysCount).map(start.plusDays(_)).foreach(println)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读