一个日期工具类

来源:互联网 发布:有关大数据时代的论文 编辑:程序博客网 时间:2024/05/21 19:50

  import   org.apache.commons.lang.StringUtils;  
  import   java.text.ParseException;  
  import   java.text.SimpleDateFormat;  
  import   java.util.*;  
  /**  
    *   日期Util类  
    *    
    *   @author   calvin  
    */  
  public   class   DateUtil   {  
  private   static   String   defaultDatePattern   =   "yyyy-MM-dd";  
  /**  
    *   获得默认的   date   pattern  
    */  
  public   static   String   getDatePattern()   {  
  return   defaultDatePattern;  
  }  
  /**  
    *   返回预设Format的当前日期字符串  
    */  
  public   static   String   getToday()   {  
  Date   today   =   new   Date();  
  return   format(today);  
  }  
  /**  
    *   使用预设Format格式化Date成字符串  
    */  
  public   static   String   format(Date   date)   {  
  return   date   ==   null   ?   ""   :   format(date,   getDatePattern());  
  }  
  /**  
    *   使用参数Format格式化Date成字符串  
    */  
  public   static   String   format(Date   date,   String   pattern)   {  
  return   date   ==   null   ?   ""   :   new   SimpleDateFormat(pattern).format(date);  
  }  
  /**  
    *   使用预设格式将字符串转为Date  
    */  
  public   static   Date   parse(String   strDate)   throws   ParseException   {  
  return   StringUtils.isBlank(strDate)   ?   null   :   parse(strDate,  
  getDatePattern());  
  }  
  /**  
    *   使用参数Format将字符串转为Date  
    */  
  public   static   Date   parse(String   strDate,   String   pattern)  
  throws   ParseException   {  
  return   StringUtils.isBlank(strDate)   ?   null   :   new   SimpleDateFormat(  
  pattern).parse(strDate);  
  }  
  /**  
    *   在日期上增加数个整月  
    */  
  public   static   Date   addMonth(Date   date,   int   n)   {  
  Calendar   cal   =   Calendar.getInstance();  
  cal.setTime(date);  
  cal.add(Calendar.MONTH,   n);  
  return   cal.getTime();  
  }  
  public   static   String   getLastDayOfMonth(String   year,   String   month)   {  
      Calendar   cal   =   Calendar.getInstance();  
      //年  
      cal.set(Calendar.YEAR,   Integer.parseInt(year));  
      //月,因为Calendar里的月是从0开始,所以要-1  
  //     cal.set(Calendar.MONTH,   Integer.parseInt(month)   -   1);  
      //日,设为一号  
      cal.set(Calendar.DATE,   1);  
      //月份加一,得到下个月的一号  
      cal.add(Calendar.MONTH,1);  
      //下一个月减一为本月最后一天  
      cal.add(Calendar.DATE,   -1);  
      return   String.valueOf(cal.get(Calendar.DAY_OF_MONTH));//获得月末是几号  
    }  
    public   static   Date   getDate(String   year,String   month,String   day)throws   ParseException{  
    String   result=year+"-"+(month.length()==1?("0"+month):month)+"-"+(day.length()==1?("0"+day):day);  
    return   parse(result);  
    }