Java日期操作方法讲解与实现

日期操作方法讲解与实现  


取得指定月份的第一天与取得指定月份的最后一天  
/**   
         *  取得指定月份的第一天  
         *  
         *  
@param   strdate  String  
         *  
@return   String  
         
*/   
       
public   String  getMonthBegin(String  strdate)  
       {  
               java.util.Date  date  
=   parseFormatDate(strdate);  
               
return   formatDateByFormat(date, " yyyy-MM " )   +    " -01 " ;  
       }  
 
       
/**   
         *  取得指定月份的最后一天  
         *  
         *  
@param   strdate  String  
         *  
@return   String  
         
*/   
       
public   String  getMonthEnd(String  strdate)  
       {  
               java.util.Date  date  
=   parseFormatDate(getMonthBegin(strdate));  
               Calendar  calendar  
=   Calendar.getInstance();  
               calendar.setTime(date);  
               calendar.add(Calendar.MONTH,
1 );  
               calendar.add(Calendar.DAY_OF_YEAR,  
- 1 );  
               
return   formatDate(calendar.getTime());  
       }  
 
       
/**   
         *  常用的格式化日期  
         *  
         *  
@param   date  Date  
         *  
@return   String  
         
*/   
       
public   String  formatDate(java.util.Date  date)  
       {  
               
return   formatDateByFormat(date, " yyyy-MM-dd " );  
       }  
 
       
/**   
         *  以指定的格式来格式化日期  
         *  
         *  
@param   date  Date  
         *  
@param   format  String  
         *  
@return   String  
         
*/   
       
public   String  formatDateByFormat(java.util.Date  date,String  format)  
       {  
               String  result  
=    "" ;  
               
if (date   !=    null )  
               {  
                       
try   
                       {  
                               SimpleDateFormat  sdf  
=    new   SimpleDateFormat(format);  
                               result  
=   sdf.format(date);  
                       }  
                       
catch (Exception  ex)  
                       {  
                               LOGGER.info(
" date: "    +   date);  
                               ex.printStackTrace();  
                       }  
               }  
               
return   result;  
       }  
// ---------------------------------------------------------------  
 
package   com.app.util;  
 
/**   
 *  日期操作  
 *    
 *  
@author   xxx  
 *  
@version   2.0  jdk1.4.0  tomcat5.1.0  *  Updated  Date:2005/03/10  
 
*/   
public    class   DateUtil  {  
           
/**   
             *  格式化日期  
             *    
             *  
@param   dateStr  
             *                        字符型日期  
             *  
@param   format  
             *                        格式  
             *  
@return   返回日期  
             
*/   
           
public    static   java.util.Date  parseDate(String  dateStr,  String  format)  {  
                       java.util.Date  date  
=    null ;  
                       
try   {  
                                   java.text.DateFormat  df  
=    new   java.text.SimpleDateFormat(format);  
                                   String  dt
= Normal.parse(dateStr).replaceAll(  
                                                           
" - " ,   " / " );  
                                   
if (( ! dt.equals( "" )) && (dt.length() < format.length())){  
                                               dt
+= format.substring(dt.length()).replaceAll( " [YyMmDdHhSs] " , " 0 " );  
                                   }  
                                   date  
=   (java.util.Date)  df.parse(dt);  
                       }  
catch   (Exception  e)  {  
                       }  
                       
return   date;  
           }  
 
           
public    static   java.util.Date  parseDate(String  dateStr)  {  
                       
return   parseDate(dateStr,   " yyyy/MM/dd " );  
           }  
 
           
public    static   java.util.Date  parseDate(java.sql.Date  date)  {  
                       
return   date;  
           }  
             
           
public    static   java.sql.Date  parseSqlDate(java.util.Date  date)  {  
                       
if   (date   !=    null )  
                                   
return    new   java.sql.Date(date.getTime());  
                       
else   
                                   
return    null ;  
           }  
 
           
public    static   java.sql.Date  parseSqlDate(String  dateStr,  String  format)  {  
                       java.util.Date  date  
=   parseDate(dateStr,  format);  
                       
return   parseSqlDate(date);  
           }  
 
           
public    static   java.sql.Date  parseSqlDate(String  dateStr)  {  
                       
return   parseSqlDate(dateStr,   " yyyy/MM/dd " );  
           }  
 
             
           
public    static   java.sql.Timestamp  parseTimestamp(String  dateStr,  
                                   String  format)  {  
                       java.util.Date  date  
=   parseDate(dateStr,  format);  
                       
if   (date   !=    null )  {  
                                   
long   t   =   date.getTime();  
                                   
return    new   java.sql.Timestamp(t);  
                       }  
else   
                                   
return    null ;  
           }  
 
           
public    static   java.sql.Timestamp  parseTimestamp(String  dateStr)  {  
                       
return   parseTimestamp(dateStr,   " yyyy/MM/dd  HH:mm:ss " );  
           }  
 
           
/**   
             *  格式化输出日期  
             *    
             *  
@param   date  
             *                        日期  
             *  
@param   format  
             *                        格式  
             *  
@return   返回字符型日期  
             
*/   
           
public    static   String  format(java.util.Date  date,  String  format)  {  
                       String  result  
=    "" ;  
                       
try   {  
                                   
if   (date   !=    null )  {  
                                               java.text.DateFormat  df  
=    new   java.text.SimpleDateFormat(format);  
                                               result  
=   df.format(date);  
                                   }  
                       }  
catch   (Exception  e)  {  
                       }  
                       
return   result;  
           }  
 
           
public    static   String  format(java.util.Date  date)  {  
                       
return   format(date,   " yyyy/MM/dd " );  
           }  
 
           
/**   
             *  返回年份  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回年份  
             
*/   
           
public    static    int   getYear(java.util.Date  date)  {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.YEAR);  
           }  
 
           
/**   
             *  返回月份  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回月份  
             
*/   
           
public    static    int   getMonth(java.util.Date  date)  {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.MONTH)   +    1 ;  
           }  
 
           
/**   
             *  返回日份  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回日份  
             
*/   
           
public    static    int   getDay(java.util.Date  date)  {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.DAY_OF_MONTH);  
           }  
 
           
/**   
             *  返回小时  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回小时  
             
*/   
           
public    static    int   getHour(java.util.Date  date)  {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.HOUR_OF_DAY);  
           }  
 
           
/**   
             *  返回分钟  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回分钟  
             
*/   
           
public    static    int   getMinute(java.util.Date  date)  {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.MINUTE);  
           }  
 
           
/**   
             *  返回秒钟  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回秒钟  
             
*/   
           
public    static    int   getSecond(java.util.Date  date)  {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.get(java.util.Calendar.SECOND);  
           }  
 
           
/**   
             *  返回毫秒  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回毫秒  
             
*/   
           
public    static    long   getMillis(java.util.Date  date)  {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTime(date);  
                       
return   c.getTimeInMillis();  
           }  
 
           
/**   
             *  返回字符型日期  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回字符型日期  
             
*/   
           
public    static   String  getDate(java.util.Date  date)  {  
                       
return   format(date,   " yyyy/MM/dd " );  
           }  
 
           
/**   
             *  返回字符型时间  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回字符型时间  
             
*/   
           
public    static   String  getTime(java.util.Date  date)  {  
                       
return   format(date,   " HH:mm:ss " );  
           }  
 
           
/**   
             *  返回字符型日期时间  
             *    
             *  
@param   date  
             *                        日期  
             *  
@return   返回字符型日期时间  
             
*/   
           
public    static   String  getDateTime(java.util.Date  date)  {  
                       
return   format(date,   " yyyy/MM/dd  HH:mm:ss " );  
           }  
 
           
/**   
             *  日期相加  
             *    
             *  
@param   date  
             *                        日期  
             *  
@param   day  
             *                        天数  
             *  
@return   返回相加后的日期  
             
*/   
           
public    static   java.util.Date  addDate(java.util.Date  date,   int   day)  {  
                       java.util.Calendar  c  
=   java.util.Calendar.getInstance();  
                       c.setTimeInMillis(getMillis(date)  
+   (( long )  day)   *    24    *    3600    *    1000 );  
                       
return   c.getTime();  
           }  
 
           
/**   
             *  日期相减  
             *    
             *  
@param   date  
             *                        日期  
             *  
@param   date1  
             *                        日期  
             *  
@return   返回相减后的日期  
             
*/   
           
public    static    int   diffDate(java.util.Date  date,  java.util.Date  date1)  {  
                       
return   ( int )  ((getMillis(date)   -   getMillis(date1))   /   ( 24    *    3600    *    1000 ));  
           }              
}  
我来个简单点的,也许有点用  
Calendar  now   =   Calendar.getInstance();  
int   year   =   now.get(Calendar.YEAR);  
int   date   =   now.get(Calendar.DAY_OF_MONTH);  
int   month   =   now.get(Calendar.MONTH)   +    1 ;  
int   hour   =   now.get(Calendar.HOUR);  
int   min   =   now.get(Calendar.MINUTE);  
int   sec   =   now.get(Calendar.SECOND);  

在最近的一个OA中,我需要判断两个日期是否是同一周,根据一个给定的日期获得所属周的周一和周五的日期。  
 
在完成以上任务时,我发现Calendar  的确是一个功能强大的class。

 

package  com.elink.util;

/*
 * <p>Company: 凌科软件 www.elinksoft.com </p>
 * @author liubaojun
 * @version 1.0
 * Created on 2004-11-29
 * 来源于 elinkBSP (业务架构平台) 部分源代码
 
*/


import  java.text. * ;
import  java.util. * ;

public   class  DateUtil
{
 
private static final int[] dayArray = new int[]
  
312831303130313130313031 };
 
private static SimpleDateFormat sdf = new SimpleDateFormat();

 
public static synchronized Calendar getCalendar()
 
{
  
return GregorianCalendar.getInstance();
 }


 
/**
  
@return String
  
*/

 
public static synchronized String getDateMilliFormat()
 
{
  Calendar cal 
= Calendar.getInstance();
  
return getDateMilliFormat( cal );
 }


 
/**
  
@param cal
  
@return String
  
*/

 
public static synchronized String getDateMilliFormat( java.util.Calendar cal )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss,SSS";
  
return getDateFormat( cal, pattern );
 }


 
/**
  
@param date
  
@return String
  
*/

 
public static synchronized String getDateMilliFormat( java.util.Date date )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss,SSS";
  
return getDateFormat( date, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Calendar
  
*/

 
public static synchronized Calendar parseCalendarMilliFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss,SSS";
  
return parseCalendarFormat( strDate, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Date
  
*/

 
public static synchronized Date parseDateMilliFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss,SSS";
  
return parseDateFormat( strDate, pattern );
 }


 
/**
  
@return String
  
*/

 
public static synchronized String getDateSecondFormat()
 
{
  Calendar cal 
= Calendar.getInstance();
  
return getDateSecondFormat( cal );
 }


 
/**
  
@param cal
  
@return String
  
*/

 
public static synchronized String getDateSecondFormat( java.util.Calendar cal )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return getDateFormat( cal, pattern );
 }


 
/**
  
@param date
  
@return String
  
*/

 
public static synchronized String getDateSecondFormat( java.util.Date date )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return getDateFormat( date, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Calendar
  
*/

 
public static synchronized Calendar parseCalendarSecondFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return parseCalendarFormat( strDate, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Date
  
*/

 
public static synchronized Date parseDateSecondFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return parseDateFormat( strDate, pattern );
 }


 
/**
  
@return String
  
*/

 
public static synchronized String getDateMinuteFormat()
 
{
  Calendar cal 
= Calendar.getInstance();
  
return getDateMinuteFormat( cal );
 }


 
/**
  
@param cal
  
@return String
  
*/

 
public static synchronized String getDateMinuteFormat( java.util.Calendar cal )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm";
  
return getDateFormat( cal, pattern );
 }


 
/**
  
@param date
  
@return String
  
*/

 
public static synchronized String getDateMinuteFormat( java.util.Date date )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm";
  
return getDateFormat( date, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Calendar
  
*/

 
public static synchronized Calendar parseCalendarMinuteFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm";
  
return parseCalendarFormat( strDate, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Date
  
*/

 
public static synchronized Date parseDateMinuteFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm";
  
return parseDateFormat( strDate, pattern );
 }


 
/**
  
@return String
  
*/

 
public static synchronized String getDateDayFormat()
 
{
  Calendar cal 
= Calendar.getInstance();
  
return getDateDayFormat( cal );
 }


 
/**
  
@param cal
  
@return String
  
*/

 
public static synchronized String getDateDayFormat( java.util.Calendar cal )
 
{
  String pattern 
= "yyyy-MM-dd";
  
return getDateFormat( cal, pattern );
 }


 
/**
  
@param date
  
@return String
  
*/

 
public static synchronized String getDateDayFormat( java.util.Date date )
 
{
  String pattern 
= "yyyy-MM-dd";
  
return getDateFormat( date, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Calendar
  
*/

 
public static synchronized Calendar parseCalendarDayFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd";
  
return parseCalendarFormat( strDate, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Date
  
*/

 
public static synchronized Date parseDateDayFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd";
  
return parseDateFormat( strDate, pattern );
 }


 
/**
  
@return String
  
*/

 
public static synchronized String getDateFileFormat()
 
{
  Calendar cal 
= Calendar.getInstance();
  
return getDateFileFormat( cal );
 }


 
/**
  
@param cal
  
@return String
  
*/

 
public static synchronized String getDateFileFormat( java.util.Calendar cal )
 
{
  String pattern 
= "yyyy-MM-dd_HH-mm-ss";
  
return getDateFormat( cal, pattern );
 }


 
/**
  
@param date
  
@return String
  
*/

 
public static synchronized String getDateFileFormat( java.util.Date date )
 
{
  String pattern 
= "yyyy-MM-dd_HH-mm-ss";
  
return getDateFormat( date, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Calendar
  
*/

 
public static synchronized Calendar parseCalendarFileFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd_HH-mm-ss";
  
return parseCalendarFormat( strDate, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Date
  
*/

 
public static synchronized Date parseDateFileFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd_HH-mm-ss";
  
return parseDateFormat( strDate, pattern );
 }


 
/**
  
@return String
  
*/

 
public static synchronized String getDateW3CFormat()
 
{
  Calendar cal 
= Calendar.getInstance();
  
return getDateW3CFormat( cal );
 }


 
/**
  
@param cal
  
@return String
  
*/

 
public static synchronized String getDateW3CFormat( java.util.Calendar cal )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return getDateFormat( cal, pattern );
 }


 
/**
  
@param date
  
@return String
  
*/

 
public static synchronized String getDateW3CFormat( java.util.Date date )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return getDateFormat( date, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Calendar
  
*/

 
public static synchronized Calendar parseCalendarW3CFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return parseCalendarFormat( strDate, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Date
  
*/

 
public static synchronized Date parseDateW3CFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return parseDateFormat( strDate, pattern );
 }


 
/**
  
@param cal
  
@return String
  
*/

 
public static synchronized String getDateFormat( java.util.Calendar cal )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return getDateFormat( cal, pattern );
 }


 
/**
  
@param date
  
@return String
  
*/

 
public static synchronized String getDateFormat( java.util.Date date )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return getDateFormat( date, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Calendar
  
*/

 
public static synchronized Calendar parseCalendarFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return parseCalendarFormat( strDate, pattern );
 }


 
/**
  
@param strDate
  
@return java.util.Date
  
*/

 
public static synchronized Date parseDateFormat( String strDate )
 
{
  String pattern 
= "yyyy-MM-dd HH:mm:ss";
  
return parseDateFormat( strDate, pattern );
 }


 
/**
  
@param cal
  
@param pattern
  
@return String
  
*/

 
public static synchronized String getDateFormat( java.util.Calendar cal, String pattern )
 
{
  
return getDateFormat( cal.getTime(), pattern );
 }


 
/**
  
@param date
  
@param pattern
  
@return String
  
*/

 
public static synchronized String getDateFormat( java.util.Date date, String pattern )
 
{
  
synchronized ( sdf )
  
{
   String str 
= null;
   sdf.applyPattern( pattern );
   str 
= sdf.format( date );
   
return str;
  }

 }


 
/**
  
@param strDate
  
@param pattern
  
@return java.util.Calendar
  
*/

 
public static synchronized Calendar parseCalendarFormat( String strDate, String pattern )
 
{
  
synchronized ( sdf )
  
{
   Calendar cal 
= null;
   sdf.applyPattern( pattern );
   
try
   
{
    sdf.parse( strDate );
    cal 
= sdf.getCalendar();
   }

   
catch ( Exception e )
   
{
   }

   
return cal;
  }

 }


 
/**
  
@param strDate
  
@param pattern
  
@return java.util.Date
  
*/

 
public static synchronized Date parseDateFormat( String strDate, String pattern )
 
{
  
synchronized ( sdf )
  
{
   Date date 
= null;
   sdf.applyPattern( pattern );
   
try
   
{
    date 
= sdf.parse( strDate );
   }

   
catch ( Exception e )
   
{
   }

   
return date;
  }

 }


 
public static synchronized int getLastDayOfMonth( int month )
 
{
  
if ( month < 1 || month > 12 )
  
{
   
return -1;
  }

  
int retn = 0;
  
if ( month == 2 )
  
{
   
if ( isLeapYear() )
   
{
    retn 
= 29;
   }

   
else
   
{
    retn 
= dayArray[month - 1];
   }

  }

  
else
  
{
   retn 
= dayArray[month - 1];
  }

  
return retn;
 }


 
public static synchronized int getLastDayOfMonth( int year, int month )
 
{
  
if ( month < 1 || month > 12 )
  
{
   
return -1;
  }

  
int retn = 0;
  
if ( month == 2 )
  
{
   
if ( isLeapYear( year ) )
   
{
    retn 
= 29;
   }

   
else
   
{
    retn 
= dayArray[month - 1];
   }

  }

  
else
  
{
   retn 
= dayArray[month - 1];
  }

  
return retn;
 }


 
public static synchronized boolean isLeapYear()
 
{
  Calendar cal 
= Calendar.getInstance();
  
int year = cal.get( Calendar.YEAR );
  
return isLeapYear( year );
 }


 
public static synchronized boolean isLeapYear( int year )
 
{
  
/**
   * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
   * 3.能被4整除同时能被100整除则不是闰年
   
*/

  
if ( ( year % 400 ) == 0 )
   
return true;
  
else if ( ( year % 4 ) == 0 )
  
{
   
if ( ( year % 100 ) == 0 )
    
return false;
   
else return true;
  }

  
else return false;
 }

 
 
/**
  * 判断指定日期的年份是否是闰年
  * 
  * 
@param date
  *            指定日期。
  * 
@return 是否闰年
  
*/

 
public static synchronized boolean isLeapYear( java.util.Date date )
 
{
  
/**
   * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
   * 3.能被4整除同时能被100整除则不是闰年
   
*/

//  int year = date.getYear();
  GregorianCalendar gc = ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  
int year = gc.get( Calendar.YEAR );
  
return isLeapYear( year );
 }
 
 
 
public static synchronized boolean isLeapYear( java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
   * 3.能被4整除同时能被100整除则不是闰年
   
*/

  
int year = gc.get( Calendar.YEAR );
  
return isLeapYear( year );
 }
 

 
/**
  * 得到指定日期的前一个工作日
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的前一个工作日
  
*/

 
public static synchronized java.util.Date getPreviousWeekDay(
  java.util.Date date )
 
{
  
{
   
/**
    * 详细设计: 
    * 1.如果date是星期日,则减3天 
    * 2.如果date是星期六,则减2天 
    * 3.否则减1天
    
*/

   GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
   gc.setTime( date );
   
return getPreviousWeekDay( gc );
//   switch ( gc.get( Calendar.DAY_OF_WEEK ) )
//   {
//    case ( Calendar.MONDAY    ):
//     gc.add( Calendar.DATE, -3 );
//     break;
//    case ( Calendar.SUNDAY    ):
//     gc.add( Calendar.DATE, -2 );
//     break;
//    default:
//     gc.add( Calendar.DATE, -1 );
//     break;
//   }
//   return gc.getTime();
  }

 }

 
 
public static synchronized java.util.Date getPreviousWeekDay(
  java.util.Calendar gc )
 
{
  
{
   
/**
    * 详细设计: 
    * 1.如果date是星期日,则减3天 
    * 2.如果date是星期六,则减2天 
    * 3.否则减1天
    
*/

   
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
   
{
    
case ( Calendar.MONDAY    ):
     gc.add( Calendar.DATE, 
-3 );
     
break;
    
case ( Calendar.SUNDAY    ):
     gc.add( Calendar.DATE, 
-2 );
     
break;
    
default:
     gc.add( Calendar.DATE, 
-1 );
     
break;
   }

   
return gc.getTime();
  }

 }


 
/**
  * 得到指定日期的后一个工作日
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的后一个工作日
  
*/

 
public static synchronized java.util.Date getNextWeekDay(
  java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.如果date是星期五,则加3天 
   * 2.如果date是星期六,则加2天
   * 3.否则加1天
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
  
{
   
case ( Calendar.FRIDAY    ):
    gc.add( Calendar.DATE, 
3 );
    
break;
   
case ( Calendar.SATURDAY    ):
    gc.add( Calendar.DATE, 
2 );
    
break;
   
default:
    gc.add( Calendar.DATE, 
1 );
    
break;
  }

  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getNextWeekDay(
  java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 
   * 1.如果date是星期五,则加3天 
   * 2.如果date是星期六,则加2天
   * 3.否则加1天
   
*/

  
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
  
{
   
case ( Calendar.FRIDAY    ):
    gc.add( Calendar.DATE, 
3 );
    
break;
   
case ( Calendar.SATURDAY    ):
    gc.add( Calendar.DATE, 
2 );
    
break;
   
default:
    gc.add( Calendar.DATE, 
1 );
    
break;
  }

  
return gc;
 }


 
/**
  * 取得指定日期的下一个月的最后一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的下一个月的最后一天
  
*/

 
public static synchronized java.util.Date getLastDayOfNextMonth(
  java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.调用getNextMonth设置当前时间 
   * 2.以1为基础,调用getLastDayOfMonth
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
  gc.setTime( DateUtil.getLastDayOfMonth( gc.getTime() ) );
  
return gc.getTime();
 }


 
/**
  * 取得指定日期的下一个星期的最后一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的下一个星期的最后一天
  
*/

 
public static synchronized java.util.Date getLastDayOfNextWeek(
  java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.调用getNextWeek设置当前时间 
   * 2.以1为基础,调用getLastDayOfWeek
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
  gc.setTime( DateUtil.getLastDayOfWeek( gc.getTime() ) );
  
return gc.getTime();
 }


 
/**
  * 取得指定日期的下一个月的第一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的下一个月的第一天
  
*/

 
public static synchronized java.util.Date getFirstDayOfNextMonth(
  java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.调用getNextMonth设置当前时间 
   * 2.以1为基础,调用getFirstDayOfMonth
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
  gc.setTime( DateUtil.getFirstDayOfMonth( gc.getTime() ) );
  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getFirstDayOfNextMonth(
  java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 
   * 1.调用getNextMonth设置当前时间 
   * 2.以1为基础,调用getFirstDayOfMonth
   
*/

  gc.setTime( DateUtil.getNextMonth( gc.getTime() ) );
  gc.setTime( DateUtil.getFirstDayOfMonth( gc.getTime() ) );
  
return gc;
 }


 
/**
  * 取得指定日期的下一个星期的第一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的下一个星期的第一天
  
*/

 
public static synchronized java.util.Date getFirstDayOfNextWeek(
  java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.调用getNextWeek设置当前时间 
   * 2.以1为基础,调用getFirstDayOfWeek
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
  gc.setTime( DateUtil.getFirstDayOfWeek( gc.getTime() ) );
  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getFirstDayOfNextWeek(
  java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 
   * 1.调用getNextWeek设置当前时间 
   * 2.以1为基础,调用getFirstDayOfWeek
   
*/

  gc.setTime( DateUtil.getNextWeek( gc.getTime() ) );
  gc.setTime( DateUtil.getFirstDayOfWeek( gc.getTime() ) );
  
return gc;
 }


 
/**
  * 取得指定日期的下一个月
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的下一个月
  
*/

 
public static synchronized java.util.Date getNextMonth( java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.指定日期的月份加1
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  gc.add( Calendar.MONTH, 
1 );
  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getNextMonth( java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 
   * 1.指定日期的月份加1
   
*/

  gc.add( Calendar.MONTH, 
1 );
  
return gc;
 }


 
/**
  * 取得指定日期的下一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的下一天
  
*/

 
public static synchronized java.util.Date getNextDay( java.util.Date date )
 
{
  
/**
   * 详细设计: 1.指定日期加1天
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  gc.add( Calendar.DATE, 
1 );
  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getNextDay( java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 1.指定日期加1天
   
*/

  gc.add( Calendar.DATE, 
1 );
  
return gc;
 }


 
/**
  * 取得指定日期的下一个星期
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的下一个星期
  
*/

 
public static synchronized java.util.Date getNextWeek( java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.指定日期加7天
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  gc.add( Calendar.DATE, 
7 );
  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getNextWeek( java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 
   * 1.指定日期加7天
   
*/

  gc.add( Calendar.DATE, 
7 );
  
return gc;
 }


 
/**
  * 取得指定日期的所处星期的最后一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的所处星期的最后一天
  
*/

 
public static synchronized java.util.Date getLastDayOfWeek(
  java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.如果date是星期日,则加6天 
   * 2.如果date是星期一,则加5天 
   * 3.如果date是星期二,则加4天
   * 4.如果date是星期三,则加3天 
   * 5.如果date是星期四,则加2天 
   * 6.如果date是星期五,则加1天
   * 7.如果date是星期六,则加0天
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
  
{
   
case ( Calendar.SUNDAY  ):
    gc.add( Calendar.DATE, 
6 );
    
break;
   
case ( Calendar.MONDAY  ):
    gc.add( Calendar.DATE, 
5 );
    
break;
   
case ( Calendar.TUESDAY  ):
    gc.add( Calendar.DATE, 
4 );
    
break;
   
case ( Calendar.WEDNESDAY  ):
    gc.add( Calendar.DATE, 
3 );
    
break;
   
case ( Calendar.THURSDAY  ):
    gc.add( Calendar.DATE, 
2 );
    
break;
   
case ( Calendar.FRIDAY  ):
    gc.add( Calendar.DATE, 
1 );
    
break;
   
case ( Calendar.SATURDAY  ):
    gc.add( Calendar.DATE, 
0 );
    
break;
  }

  
return gc.getTime();
 }


 
/**
  * 取得指定日期的所处星期的第一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的所处星期的第一天
  
*/

 
public static synchronized java.util.Date getFirstDayOfWeek(
  java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.如果date是星期日,则减0天 
   * 2.如果date是星期一,则减1天 
   * 3.如果date是星期二,则减2天
   * 4.如果date是星期三,则减3天 
   * 5.如果date是星期四,则减4天 
   * 6.如果date是星期五,则减5天
   * 7.如果date是星期六,则减6天
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
  
{
   
case ( Calendar.SUNDAY  ):
    gc.add( Calendar.DATE, 
0 );
    
break;
   
case ( Calendar.MONDAY  ):
    gc.add( Calendar.DATE, 
-1 );
    
break;
   
case ( Calendar.TUESDAY  ):
    gc.add( Calendar.DATE, 
-2 );
    
break;
   
case ( Calendar.WEDNESDAY  ):
    gc.add( Calendar.DATE, 
-3 );
    
break;
   
case ( Calendar.THURSDAY  ):
    gc.add( Calendar.DATE, 
-4 );
    
break;
   
case ( Calendar.FRIDAY  ):
    gc.add( Calendar.DATE, 
-5 );
    
break;
   
case ( Calendar.SATURDAY  ):
    gc.add( Calendar.DATE, 
-6 );
    
break;
  }

  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getFirstDayOfWeek(
  java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 
   * 1.如果date是星期日,则减0天 
   * 2.如果date是星期一,则减1天 
   * 3.如果date是星期二,则减2天
   * 4.如果date是星期三,则减3天 
   * 5.如果date是星期四,则减4天 
   * 6.如果date是星期五,则减5天
   * 7.如果date是星期六,则减6天
   
*/

  
switch ( gc.get( Calendar.DAY_OF_WEEK ) )
  
{
   
case ( Calendar.SUNDAY  ):
    gc.add( Calendar.DATE, 
0 );
    
break;
   
case ( Calendar.MONDAY  ):
    gc.add( Calendar.DATE, 
-1 );
    
break;
   
case ( Calendar.TUESDAY  ):
    gc.add( Calendar.DATE, 
-2 );
    
break;
   
case ( Calendar.WEDNESDAY  ):
    gc.add( Calendar.DATE, 
-3 );
    
break;
   
case ( Calendar.THURSDAY  ):
    gc.add( Calendar.DATE, 
-4 );
    
break;
   
case ( Calendar.FRIDAY  ):
    gc.add( Calendar.DATE, 
-5 );
    
break;
   
case ( Calendar.SATURDAY  ):
    gc.add( Calendar.DATE, 
-6 );
    
break;
  }

  
return gc;
 }


 
/**
  * 取得指定日期的所处月份的最后一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的所处月份的最后一天
  
*/

 
public static synchronized java.util.Date getLastDayOfMonth(
  java.util.Date date )
 
{
  
/**
   * 详细设计: 
   * 1.如果date在1月,则为31日 
   * 2.如果date在2月,则为28日 
   * 3.如果date在3月,则为31日
   * 4.如果date在4月,则为30日 
   * 5.如果date在5月,则为31日 
   * 6.如果date在6月,则为30日
   * 7.如果date在7月,则为31日 
   * 8.如果date在8月,则为31日 
   * 9.如果date在9月,则为30日
   * 10.如果date在10月,则为31日 
   * 11.如果date在11月,则为30日 
   * 12.如果date在12月,则为31日
   * 1.如果date在闰年的2月,则为29日
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  
switch ( gc.get( Calendar.MONTH ) )
  
{
   
case 0:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 1:
    gc.set( Calendar.DAY_OF_MONTH, 
28 );
    
break;
   
case 2:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 3:
    gc.set( Calendar.DAY_OF_MONTH, 
30 );
    
break;
   
case 4:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 5:
    gc.set( Calendar.DAY_OF_MONTH, 
30 );
    
break;
   
case 6:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 7:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 8:
    gc.set( Calendar.DAY_OF_MONTH, 
30 );
    
break;
   
case 9:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 10:
    gc.set( Calendar.DAY_OF_MONTH, 
30 );
    
break;
   
case 11:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
  }

  
//检查闰年
  if ( ( gc.get( Calendar.MONTH ) == Calendar.FEBRUARY )
   
&& ( isLeapYear( gc.get( Calendar.YEAR ) ) ) )
  
{
   gc.set( Calendar.DAY_OF_MONTH, 
29 );
  }

  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getLastDayOfMonth(
  java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 
   * 1.如果date在1月,则为31日 
   * 2.如果date在2月,则为28日 
   * 3.如果date在3月,则为31日
   * 4.如果date在4月,则为30日 
   * 5.如果date在5月,则为31日 
   * 6.如果date在6月,则为30日
   * 7.如果date在7月,则为31日 
   * 8.如果date在8月,则为31日 
   * 9.如果date在9月,则为30日
   * 10.如果date在10月,则为31日 
   * 11.如果date在11月,则为30日 
   * 12.如果date在12月,则为31日
   * 1.如果date在闰年的2月,则为29日
   
*/

  
switch ( gc.get( Calendar.MONTH ) )
  
{
   
case 0:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 1:
    gc.set( Calendar.DAY_OF_MONTH, 
28 );
    
break;
   
case 2:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 3:
    gc.set( Calendar.DAY_OF_MONTH, 
30 );
    
break;
   
case 4:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 5:
    gc.set( Calendar.DAY_OF_MONTH, 
30 );
    
break;
   
case 6:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 7:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 8:
    gc.set( Calendar.DAY_OF_MONTH, 
30 );
    
break;
   
case 9:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
   
case 10:
    gc.set( Calendar.DAY_OF_MONTH, 
30 );
    
break;
   
case 11:
    gc.set( Calendar.DAY_OF_MONTH, 
31 );
    
break;
  }

  
//检查闰年
  if ( ( gc.get( Calendar.MONTH ) == Calendar.FEBRUARY )
   
&& ( isLeapYear( gc.get( Calendar.YEAR ) ) ) )
  
{
   gc.set( Calendar.DAY_OF_MONTH, 
29 );
  }

  
return gc;
 }


 
/**
  * 取得指定日期的所处月份的第一天
  * 
  * 
@param date
  *            指定日期。
  * 
@return 指定日期的所处月份的第一天
  
*/

 
public static synchronized java.util.Date getFirstDayOfMonth( java.util.Date date )
 
{
  
/**
   * 详细设计: 1.设置为1号
   
*/

  GregorianCalendar gc 
= ( GregorianCalendar ) Calendar.getInstance();
  gc.setTime( date );
  gc.set( Calendar.DAY_OF_MONTH, 
1 );
  
return gc.getTime();
 }

 
 
public static synchronized java.util.Calendar getFirstDayOfMonth( java.util.Calendar gc )
 
{
  
/**
   * 详细设计: 1.设置为1号
   
*/

  gc.set( Calendar.DAY_OF_MONTH, 
1 );
  
return gc;
 }


 
/**
  * 将日期对象转换成为指定ORA日期、时间格式的字符串形式。如果日期对象为空,返回 一个空字符串对象,而不是一个空对象。
  * 
  * 
@param theDate
  *            将要转换为字符串的日期对象。
  * 
@param hasTime
  *            如果返回的字符串带时间则为true
  * 
@return 转换的结果
  
*/

 
public static synchronized String toOraString( Date theDate, boolean hasTime )
 
{
  
/**
   * 详细设计: 
   * 1.如果有时间,则设置格式为getOraDateTimeFormat()的返回值
   * 2.否则设置格式为getOraDateFormat()的返回值 
   * 3.调用toString(Date theDate, DateFormat
   * theDateFormat)
   
*/

  DateFormat theFormat;
  
if ( hasTime )
  
{
   theFormat 
= getOraDateTimeFormat();
  }

  
else
  
{
   theFormat 
= getOraDateFormat();
  }

  
return toString( theDate, theFormat );
 }


 
/**
  * 将日期对象转换成为指定日期、时间格式的字符串形式。如果日期对象为空,返回 一个空字符串对象,而不是一个空对象。
  * 
  * 
@param theDate
  *            将要转换为字符串的日期对象。
  * 
@param hasTime
  *            如果返回的字符串带时间则为true
  * 
@return 转换的结果
  
*/

 
public static synchronized String toString( Date theDate, boolean hasTime )
 
{
  
/**
   * 详细设计: 
   * 1.如果有时间,则设置格式为getDateTimeFormat的返回值 
   * 2.否则设置格式为getDateFormat的返回值
   * 3.调用toString(Date theDate, DateFormat theDateFormat)
   
*/

  DateFormat theFormat;
  
if ( hasTime )
  
{
   theFormat 
= getDateTimeFormat();
  }

  
else
  
{
   theFormat 
= getDateFormat();
  }

  
return toString( theDate, theFormat );
 }


 
/**
  * 标准日期格式
  
*/

 
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat(
  
"MM/dd/yyyy" );
 
/**
  * 标准时间格式
  
*/

 
private static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat(
  
"MM/dd/yyyy HH:mm" );
 
/**
  * 带时分秒的标准时间格式
  
*/

 
private static final SimpleDateFormat DATE_TIME_EXTENDED_FORMAT = new SimpleDateFormat(
  
"MM/dd/yyyy HH:mm:ss" );
 
/**
  * ORA标准日期格式
  
*/

 
private static final SimpleDateFormat ORA_DATE_FORMAT = new SimpleDateFormat(
  
"yyyyMMdd" );
 
/**
  * ORA标准时间格式
  
*/

 
private static final SimpleDateFormat ORA_DATE_TIME_FORMAT = new SimpleDateFormat(
  
"yyyyMMddHHmm" );
 
/**
  * 带时分秒的ORA标准时间格式
  
*/

 
private static final SimpleDateFormat ORA_DATE_TIME_EXTENDED_FORMAT = new SimpleDateFormat(
  
"yyyyMMddHHmmss" );

 
/**
  * 创建一个标准日期格式的克隆
  * 
  * 
@return 标准日期格式的克隆
  
*/

 
public static synchronized DateFormat getDateFormat()
 
{
  
/**
   * 详细设计: 1.返回DATE_FORMAT
   
*/

  SimpleDateFormat theDateFormat 
= ( SimpleDateFormat ) 
   DATE_FORMAT.clone();
  theDateFormat.setLenient( 
false );
  
return theDateFormat;
 }


 
/**
  * 创建一个标准时间格式的克隆
  * 
  * 
@return 标准时间格式的克隆
  
*/

 
public static synchronized DateFormat getDateTimeFormat()
 
{
  
/**
   * 详细设计: 1.返回DATE_TIME_FORMAT
   
*/

  SimpleDateFormat theDateTimeFormat 
= ( SimpleDateFormat ) DATE_TIME_FORMAT
   .clone();
  theDateTimeFormat.setLenient( 
false );
  
return theDateTimeFormat;
 }


 
/**
  * 创建一个标准ORA日期格式的克隆
  * 
  * 
@return 标准ORA日期格式的克隆
  
*/

 
public static synchronized DateFormat getOraDateFormat()
 
{
  
/**
   * 详细设计: 1.返回ORA_DATE_FORMAT
   
*/

  SimpleDateFormat theDateFormat 
= ( SimpleDateFormat ) ORA_DATE_FORMAT
   .clone();
  theDateFormat.setLenient( 
false );
  
return theDateFormat;
 }


 
/**
  * 创建一个标准ORA时间格式的克隆
  * 
  * 
@return 标准ORA时间格式的克隆
  
*/

 
public static synchronized DateFormat getOraDateTimeFormat()
 
{
  
/**
   * 详细设计: 1.返回ORA_DATE_TIME_FORMAT
   
*/

  SimpleDateFormat theDateTimeFormat 
= ( SimpleDateFormat ) 
   ORA_DATE_TIME_FORMAT.clone();
  theDateTimeFormat.setLenient( 
false );
  
return theDateTimeFormat;
 }


 
/**
  * 将一个日期对象转换成为指定日期、时间格式的字符串。 如果日期对象为空,返回一个空字符串,而不是一个空对象。
  * 
  * 
@param theDate
  *            要转换的日期对象
  * 
@param theDateFormat
  *            返回的日期字符串的格式
  * 
@return 转换结果
  
*/

 
public static synchronized String toString( Date theDate,
  DateFormat theDateFormat )
 
{
  
/**
   * 详细设计: 
   * 1.theDate为空,则返回"" 
   * 2.否则使用theDateFormat格式化
   
*/

  
if ( theDate == null ) 
   
return "";
  
return theDateFormat.format( theDate );
 }

}


 

你可能感兴趣的:(Java日期操作方法讲解与实现)