倍幫的日期處理類

import   java.util.Calendar;  
  import   java.sql.Date;  
  import   java.text.SimpleDateFormat;  
  import   java.text.ParseException;  
   
  /**  
    *   Utility   to   date   time  
    *   @version   0.1  
    *   @author   Super   Zhao  
    */  
  public   class   DateTimeUtil   {  
   
  /**  
    *   由java.util.Date到java.sql.Date的類型轉換  
    *   @param   date  
    *   @return   Date  
    */  
  public   static   Date   getSqlDate(java.util.Date   date){  
  return   new   Date(date.getTime());  
  }  
   
  public   static   Date   nowDate(){  
  Calendar   calendar=Calendar.getInstance();  
  return   getSqlDate(calendar.getTime());  
  }  
   
  /**  
    *   獲得某一日期的後一天  
    *   @param   date  
    *   @return   Date  
    */  
  public   static   Date   getNextDate(Date   date){  
  Calendar   calendar=Calendar.getInstance();  
  calendar.setTime(date);  
  int   day=calendar.get(Calendar.DATE);  
  calendar.set(Calendar.DATE,day+1);  
  return   getSqlDate(calendar.getTime());  
  }  
   
  /**  
    *   獲得某一日期的前一天  
    *   @param   date  
    *   @return   Date  
    */  
  public   static   Date   getPreviousDate(Date   date){  
  Calendar   calendar=Calendar.getInstance();  
  calendar.setTime(date);  
  int   day=calendar.get(Calendar.DATE);  
  calendar.set(Calendar.DATE,day-1);  
  return   getSqlDate(calendar.getTime());  
  }  
   
  /**  
    *   獲得某年某月第一天的日期  
    *   @param   year  
    *   @param   month  
    *   @return   Date  
    */  
  public   static   Date   getFirstDayOfMonth(int   year,int   month){  
  Calendar   calendar=Calendar.getInstance();  
  calendar.set(Calendar.YEAR,year);  
  calendar.set(Calendar.MONTH,month-1);  
  calendar.set(Calendar.DATE,1);  
  return   getSqlDate(calendar.getTime());  
  }  
   
  /**  
    *   獲得某年某月最後一天的日期  
    *   @param   year  
    *   @param   month  
    *   @return   Date  
    */  
  public   static   Date   getLastDayOfMonth(int   year,int   month){  
  Calendar   calendar=Calendar.getInstance();  
  calendar.set(Calendar.YEAR,year);  
  calendar.set(Calendar.MONTH,month);  
  calendar.set(Calendar.DATE,1);  
  return   getPreviousDate(getSqlDate(calendar.getTime()));  
  }  
   
  /**  
    *   由年月日構建java.sql.Date類型  
    *   @param   year  
    *   @param   month  
    *   @param   date  
    *   @return   Date  
    */  
  public   static   Date   buildDate(int   year,int   month,int   date){  
  Calendar   calendar=Calendar.getInstance();  
  calendar.set(year,month-1,date);  
  return   getSqlDate(calendar.getTime());  
  }  
   
  /**  
    *   取得某月的天數  
    *   @param   year  
    *   @param   month  
    *   @return   int  
    */  
  public   static   int   getDayCountOfMonth(int   year,int   month){  
  Calendar   calendar=Calendar.getInstance();  
  calendar.set(Calendar.YEAR,year);  
  calendar.set(Calendar.MONTH,month);  
  calendar.set(Calendar.DATE,0);  
  return   calendar.get(Calendar.DATE);  
  }  
   
  /**  
    *   獲得某年某季度的最後一天的日期  
    *   @param   year  
    *   @param   quarter  
    *   @return   Date  
    */  
  public   static   Date   getLastDayOfQuarter(int   year,int   quarter){  
  int   month=0;  
  if(quarter>4){  
  return   null;  
  }else{  
  month=quarter*3;  
  }  
  return   getLastDayOfMonth(year,month);  
   
  }  
   
  /**  
    *   獲得某年某季度的第一天的日期  
    *   @param   year  
    *   @param   quarter  
    *   @return   Date  
    */  
  public   static   Date   getFirstDayOfQuarter(int   year,int   quarter){  
  int   month=0;  
  if(quarter>4){  
  return   null;  
  }else{  
  month=(quarter-1)*3+1;  
  }  
  return   getFirstDayOfMonth(year,month);  
  }  
   
  /**  
    *   獲得某年的第一天的日期  
    *   @param   year  
    *   @return   Date  
    */  
  public   static   Date   getFirstDayOfYear(int   year){  
  return   getFirstDayOfMonth(year,1);  
  }  
   
  /**  
    *   獲得某年的最後一天的日期  
    *   @param   year  
    *   @return   Date  
    */  
  public   static   Date   getLastDayOfYear(int   year){  
  return   getLastDayOfMonth(year,12);  
  }  
   
  /**  
    *   String到java.sql.Date的類型轉換  
    *   @param   param  
    *   @return   Date  
    */  
  public   static   java.sql.Date   StringToDate(String   param)   {  
  if(StringUtil.nullOrBlank(param))   {  
  return   null;  
  }   else   {  
  java.util.Date   date   =null;  
  try   {  
  SimpleDateFormat   sdf=new   SimpleDateFormat("yyyy-MM-dd");  
  date   =   sdf.parse(param);  
  return   new   Date(date.getTime());  
  }  
  catch   (ParseException   ex)   {  
  //ex.printStackTrace();  
  return   null;  
  }  
  }  
  }  
  }    

發佈了24 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章