美文网首页
java 获取本年的 全部日期集合

java 获取本年的 全部日期集合

作者: 最后一只安卓 | 来源:发表于2020-07-17 16:24 被阅读0次

一个选择时间的需求 需要获取某年的全部Date集合. 以下是实现:

public List<Date> getAllDateByNow(){

List<Date> list = new ArrayList<>();

Date nowDate = new Date();

Calendar calendar = Calendar.getInstance();

calendar.setTime(nowDate);

int year = calendar.get(Calendar.YEAR);

int count =355;

//获取今年是否是闰年

if ((year %4 ==0 && year %100 !=0) || (year %400 ==0)) {

count =366;

}

int nowDayOfYear = calendar.get(Calendar.DAY_OF_YEAR);//获取今天是本年的第几天

for (int i =1; i < count +1; i++) {

//平移日期 这里的值有正负 比如 今天是5 那么今年的第一天的时间是今天平移(0 - 5)后的时间

    calendar.add(Calendar.DATE, i -nowDayOfYear);

    Date date = calendar.getTime();

    list.add(calendar.getTime());

    calendar.add(Calendar.DATE, nowDayOfYear - i);//复原为平移前的值 以便下一次循环操作

}

return list;

}

相关文章

网友评论

      本文标题:java 获取本年的 全部日期集合

      本文链接:https://www.haomeiwen.com/subject/ajnghktx.html