java 按月拆分日期怎么弄啊?

删除 发布于 2012/08/16 15:01
阅读 1K+
收藏 0

比如: 2012-8-12 到 2012-10-5 , 拆分成

2012-8-12到2012-8-31
2012-9-1到2012-9-30
2012-10-1到2012-10-5

程序怎么实现啊?

加载中
0
ObjNotFoun
ObjNotFoun
去翻calendar的API
0
canghailan
canghailan

1.起止时间是同一年,得到月列表;起止时间不是同一年,先得到年列表,再根据起止时间得到月列表。

2.计算每月天数及起止时间得到拆分。

0
OrionBox
OrionBox
Calendar 百度下。这玩意很好用。。
0
OrionBox
OrionBox
 // 计算当月最后一天,返回字符串     
    public String getDefaultDay(){       
       String str = "";     
       SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");         
     
       Calendar lastDate = Calendar.getInstance();     
       lastDate.set(Calendar.DATE,1);//设为当前月的1号     
       lastDate.add(Calendar.MONTH,1);//加一个月,变为下月的1号     
       lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天     
            
       str=sdf.format(lastDate.getTime());     
       return str;       
    }     
         
    // 上月第一天     
    public String getPreviousMonthFirst(){       
       String str = "";     
       SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");         
     
       Calendar lastDate = Calendar.getInstance();     
       lastDate.set(Calendar.DATE,1);//设为当前月的1号     
       lastDate.add(Calendar.MONTH,-1);//减一个月,变为下月的1号     
        str=sdf.format(lastDate.getTime());     
       return str;       
    }     
         
    //获取当月第一天     
    public String getFirstDayOfMonth(){       
       String str = "";     
       SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");         
     
       Calendar lastDate = Calendar.getInstance();     
       lastDate.set(Calendar.DATE,1);//设为当前月的1号     
       str=sdf.format(lastDate.getTime());     
       return str;       
    }     
返回顶部
顶部