java 获取本月本季度的每一天

1.使用Calendar获取时间,根据条件获取本月或本季度的最后一天

 // 将日期设置到Calendar对象中
 //默认获取当前时间
 Calendar calendar = Calendar.getInstance();
 //DAY_OF_MONTH 用来获得这一天在是这个月的第多少天
//DAY_OF_YEAR 用来获得这一天在是这个年的第多少天
 int year = calendar.get(Calendar.YEAR);//年
 int month= calendar.get(Calendar.MONTH) + 1;  //月
 int days= calendar.get(Calendar.DATE);//日

 //本月
                if(yanghushijian.equals("1"))
                {
                    //获取当前月的最后一天
                    calendar.set(Calendar.DAY_OF_MONTH, 1);///*设置实例中天数为:本月1号;
                    calendar.add(Calendar.MONTH, 1);//*将本月+1
                    calendar.add(Calendar.DATE, -1);//日期-1
                    int lastDay = calendar.get(Calendar.DAY_OF_MONTH);
                    System.out.println(lastDay);

                    nowday=year+"-"+month+"-"+days;
                    lastday=year+"-"+month+"-"+lastDay;
                }
                //本季度
                else if(yanghushijian.equals("2"))
                {
                    // 获取当前季度的最后一天
                    int currentQuarter = (calendar.get(Calendar.MONTH) / 3) + 1;
                    calendar.set(Calendar.MONTH, currentQuarter * 3);
                    calendar.set(Calendar.DAY_OF_MONTH, 1);
                    calendar.add(Calendar.DATE, -1);
                    int lastDayOfQuarter = calendar.get(Calendar.DAY_OF_MONTH);
                    int month2=calendar.get(Calendar.MONTH) + 1;

                    nowday=year+"-"+month+"-"+days;
                    lastday=year+"-"+month2+"-"+lastDayOfQuarter;
                }//自定义
                else if(yanghushijian.equals("3"))
                {
                    nowday=qishishijian;
                    lastday=jieshushijian;
                }





2.根据起止时间,获取每一天的天数,根据时间间隔频率,获取间隔的时间日期,并保存起来


   //根据时间段获取每一天
            int pinlv=Integer.parseInt(yanghupinlv);
            int x=pinlv;
            List list0 = new ArrayList<>();
            SimpleDateFormat   sdf = new SimpleDateFormat( "yyyy-MM-dd ");
            Date date0 = new SimpleDateFormat("yyyy-MM-dd").parse(nowday);
            Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse(lastday);
            //能获取当前的时间,还能指定需要获取的时间点
            Calendar cal = Calendar.getInstance();
            cal.setTime(date0);
            while(cal.getTime().compareTo(date1)<=0){
  				list0.add(sdf.format(cal.getTime()));
                Date shijian=cal.getTime();
      	//如果是当前频率就添加
                if(x==pinlv) {
                }
   				cal.add(Calendar.DAY_OF_MONTH,1);
                x++;
            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值