calendar java起始于结束时间_java 获取某个月的每周的开始日期和结束日期

题主,以下是我的思考思路,仅供参考:

读完需求,感觉输入输出大体是这个样子,

输入:yyyy-MM年月日期一个

输出:返回该年月所在月的所有周信息(每周的起始日期和结束日期)

既然是通过某一个月找到该月每周的起始日期、结束日期,那换句话说,一个月里有很多日期,这么日期它可以按照周来分类,第一周的日期为一类,第二周的日期为一类,以此类推,然后每一类中按照日期升序排序,我取第一个日期和最后一个日期最终就可以达到题主要求了,至此除了输入输出外,中间过程应该是这个样子

输入:yyyy-MM年月日期一个

yyyy-MM转化为List

List按照周进行分类得到类似一个map的结果Map>(其中key就是第几周)

Map>中每一个List取第一个值得到该周的第一天,取最后一个值得到该周的最后一天

输出:返回该年月所在月的所有周信息(每周的起始日期和结束日期)

有了以上一个步骤,我们再来一一解决步骤需要用到的代码,当然我这里没有选择用 java calender 类,emmm,我觉得它们实在太臃肿了,也容易犯错,API也不太好用,就以Java8的新时间API来替代了

在Java8的新时间API中,以前表示一个时间的庞大齐全的Date类被拆分了成了很多类(以前一个Date对象既表现了日期,也表现了时间,也表现了时区,大而全但不好用),这里我们要用到的是仅表示日期的YearMonth(yyyy-MM)和LocalDate(yyyy-MM-dd),YearM

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值