时间段、天数

//日期加上天数,后的日期
    public static String addDate(String date,int dayl) throws ParseException {
        long day = (int)dayl;
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date currdate = format.parse(date);

        long time = currdate.getTime(); // 得到指定日期的毫秒数
        day = day*24*60*60*1000; // 要加上的天数转换成毫秒数
        time+=day; // 相加得到新的毫秒数
        Date date1 = new Date(time);// 将毫秒数转换成日期

        String format1 = format.format(date1);
        return format1;
    }

//两个时间段间隔的天数
    public Long getTwoDateNum(String startDate,String endDate) throws Exception{

        DateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
        Date star = dft.parse(startDate);//开始时间

        if(endDate == null || endDate.equals("")){//若结束日期为空,获取当前时间
            Date date = new Date();
            endDate = dft.format(date);
        }
        Date endDay=dft.parse(endDate);//结束时间
        Long starTime=star.getTime();
        Long endTime=endDay.getTime();
        Long num=endTime-starTime;//时间戳相差的毫秒数

        return num/24/60/60/1000;
    }

    //通过开始时间、结束时间、数组长度,
    public List<String> getDateList(String startDate,String endDate,int i) throws Exception{
        List<String> lista = new ArrayList<>();
        lista.add(startDate);

        Long twoDateNum = getTwoDateNum(startDate, endDate);//开始时间、结束时间之间的天数

        int avgNum = (int)(twoDateNum/i);

        for(int j = 0; j < i-2; j++){
            startDate = addDate(startDate, Math.round(avgNum));
            lista.add(startDate);
        }
        lista.add(endDate);

        return lista;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值