java日期操作

 前面做了个比较月份的程序,选定一个日子范围是在几月到几月之间。如选出2014年2月到2014年9月之间的日期。
给出的参数是两个日期,具体到了日。
要求很奇葩,如给定的开始日期是2014/02/04,结束日期是2014/09/23。判断出在2月到9月的所有日期。也就是说2014/09/29的也要算出来。
这样,我的思路是这样的,通过“2014/02/04”得出14年2月的第一天,当然是1号了。再得出9月的最后一天是9月30号(如果是10月,就是31号了)。
public   static  String getMonth(String date,  boolean  first){
        String year = date.split(  "/|-"  )[0]; //适合“2014/09/30”和"2014-09-30"两种格式。
        //月是从0开始的,所以要减一。
        Integer month = Integer. valueOf(date.split(  "/|-" )[1])-1;
        Calendar cal = Calendar. getInstance(); //使用Calendar出理。
         //cal.set(Calendar.YEAR, lastYear);
        cal.set(Calendar.  YEAR  , Integer.valueOf(year));
        cal.set(Calendar.  MONTH  , month);
         if  (first){
              //表示一个月的第一天
              cal.set(Calendar.  DAY_OF_MONTH  ,cal.getActualMinimum(Calendar.  DATE ));
        }  else  {
              //表示一个月的最后一天。
              cal.set(Calendar.  DAY_OF_MONTH  ,cal.getActualMaximum(Calendar.  DATE ));
        }
       //返回一个字符串日期。
         return    new   SimpleDateFormat(  "yyyy-MM-dd " ).format(cal.getTime());
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值