美文网首页
java 获取一个时间段 如最近20天的时间列表

java 获取一个时间段 如最近20天的时间列表

作者: nade_s | 来源:发表于2018-07-12 14:57 被阅读0次

    获取一段时间的列表 如3/29 - 4/19 中间20天的时间 此方法不会出现日期错乱的情况 

    /** 

    * 获取一段时间的列表 

    */ 

    public static List getPeroidTime () { 

    List time = new ArrayList<>(); // 返回的集合 

    int lenght = 20; // 获取天数的长度 

    int MDAY = 0; // 天数标志 

    String tday =”“; // 返回时间字符串 

    SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”); 

    Calendar c = Calendar.getInstance(); // 当时的日期和时间 

    int year = c.get(Calendar.YEAR); // 当前年份 

    int month = c.get(Calendar.MONTH)+1 ;// 获取当前月份 

    int day = c.get(Calendar.DAY_OF_MONTH);//当前的天数 

    int maximum = c.getActualMaximum(Calendar.DAY_OF_MONTH);// 当月最大天数 

    // 获取20的范围 要判断今天和当月最大天数 

    for (int i = 0; i < lenght; i++) { 

    MDAY = day + i; 

    if (maximum-MDAY>=0){ //当月还有lenght天 

    c.set(Calendar.DAY_OF_MONTH, MDAY); 

    tday = df.format(c.getTime()); 

    }else { //当月没有lenght天 

    c.set(Calendar.YEAR,year); 

    c.set(Calendar.MONTH,month-1);// 设置月份 防止时间错乱 

    c.set(Calendar.DAY_OF_MONTH, day+i); 

    tday = df.format(c.getTime()); 

    time.add(tday); 

    return time; 

    相关文章

      网友评论

          本文标题:java 获取一个时间段 如最近20天的时间列表

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