簡単な日付操作ツールクラス


多くのプロジェクトでは、日付の操作や変換が必要です.ここでは、日付の操作を簡単にまとめ、よく使われる方法をパッケージ化しました.コードがよく書けません.エビの皆さん、よろしくお願いします.


//DateOperateUtils.java

package com.myclover.utils.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import com.myclover.utils.constant.DateConstants;

/**
 * <pre>
 *     :      
 *                  、    、       
 * </pre>
 * @author      <p>
 *     Blog:  http://myclover.iteye.com <p>
 *          :  2010-08-28 <p>
 * @version 1.0 <p>
 * {@code com.myclover.utils.date.DateOperateUtils.java com.myclover.utils.constant.DateConstants.java}
 *
 */
public class DateOperateUtils {
 
 /**
  * 
  *     :                 Date     
  * @param sDate        ,    8,  :2010-5-1、2010-05-01、2010-05-01 10:23:35
  * @param format           ,  :yyyy-MM-dd,yy-MM-dd  
  *                     :yyyy-MM-dd HH:mm:ss,format           
  * @return          :
  *               ,   date  ,  :Sat May 01 00:00:00 CST 2010 ,    null
  */
 public static java.util.Date parseStringToDate(String sDate, String format) 
 {
  java.util.Date date = null;
  if(format == null || format.trim().length() < 1)
  {
   format = DateConstants.DEFAULT_TIME_FORMAT;
  }
  if (sDate == null || sDate.length() < 8)
  {
   return null ;
  }
  try 
  {
   SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
   date = simpleDateFormat.parse(sDate);
  } catch (ParseException e) 
  {
   System.err.println("               :" + e.getMessage());
   e.printStackTrace();
  }
  return date;
 }

 
 /**
  * 
  *     :                    
  * @param sDate       ,    8,  :2010-5-1、2010-05-01、2010-05-01 10:23:35
  * @param format          ,  :yyyy-MM-dd,yy-MM-dd  
  *             :yyyy-MM-dd HH:mm:ss,format           
  * @return         :
  *                         ,           ,  :2010-05-01 ,     
  */
 public static String parseSDateToString(String sDate, String format) 
 {
  java.util.Date date = null;
  String str = null;
  if(format == null || format.trim().length() < 1)
  {
   format = DateConstants.DEFAULT_TIME_FORMAT;
  }
  if (sDate == null || sDate.length() < 8)
  {
   return "";
  }
  try 
  {
   SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
   date = simpleDateFormat.parse(sDate);
   str = simpleDateFormat.format(date);
  } catch (ParseException e) 
  {
   System.err.println("                 :" + e.getMessage());
   e.printStackTrace();
  }
  return str;
 }

 
 /**
  * 
  *     :              
  * @param date           
  * @param format         ,  :yyyy-MM-dd,yy-MM-dd,yyyy-MM-dd HH:mm:ss  
  *               :yyyy-MM-dd HH:mm:ss,format           
  * @return          :
  *             ,           ,     
  */
 public static String parseDateToString(java.util.Date date, String format)
 {
  String str = null;
  if(format == null || format.trim().length() < 1)
  {
   format = DateConstants.DEFAULT_TIME_FORMAT;
  }
  if (date == null)
  {
   return "";
  }
  SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
  str = simpleDateFormat.format(date);
  return str;
 }
 
 /**
  *          :yy-MM-dd
  * @param date
  * @return
  */
 public static String parseDateToYYMMdd(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYMMdd);
 }
 
 
 /**
  *          :yy-MM-dd HH:mm:ss
  * @param date
  * @return
  */
 public static String parseDateToYYMMddHHmmss(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYMdHHmmss);
 }
 
 
 /**
  *          :yy MM dd 
  * @param date
  * @return
  */
 public static String parseDateToYYMMdd_ZH(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYMMdd_ZH);
 }
 
 
 /**
  *          :yy MM dd  HH:mm:ss
  * @param date
  * @return
  */
 public static String parseDateToYYMMdd_ZHHHmmss(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYMMdd_ZHHHmmss);
 }
 
 
 /**
  *          :yyyyMMdd
  * @param date
  * @return
  */
 public static String parseDateToYYYYMMdd(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYYYMMdd);
 }
 
 
 /**
  *          :yyyyMMddHHmmss
  * @param date
  * @return
  */
 public static String parseDateToYYYYMMddHHmmss(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYYYMMddHHmmss);
 }
 
 
 /**
  *          :yyyy-MM-dd HH:mm:ss
  * @param date
  * @return
  */
 public static String parseDateToDEFAULT_TIME(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.DEFAULT_TIME_FORMAT);
 }
 
 
 /**
  *          :yyyy-MM-dd
  * @param date
  * @return
  */
 public static String parseDateToDEFAULT_DATE(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.DEFAULT_DATE_FORMAT);
 }
 
 
 /**
  *          :yyyy MM dd 
  * @param date
  * @return
  */
 public static String parseDateToYYYYMMdd_ZH(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYYYMMdd_ZH);
 }
 
 
 /**
  *          :yyyy MM dd  HH:mm:ss
  * @param date
  * @return
  */
 public static String parseDateToYYYYMMdd_ZHHHmmss(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYYYMMdd_ZHHHmmss);
 }
 
 
 /**
  *          :yyyy/MM/dd
  * @param date
  * @return
  */
 public static String parseDateToYYYYMd(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYYYMd);
 }
 
 
 /**
  *          :yyyy/MM/dd HH:mm:ss
  * @param date
  * @return
  */
 public static String parseDateToYYYYMdHHmmss(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYYYMdHHmmss);
 }
 
 
 /**
  *          :yy/MM/dd
  * @param date
  * @return
  */
 public static String parseDateToYYMd(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYMd);
 }
 
 
 /**
  *          :yy/MM/dd HH:mm:ss
  * @param date
  * @return
  */
 public static String parseDateToYYMdHHmmss(java.util.Date date)
 {
  return DateOperateUtils.parseDateToString(date, DateConstants.YYMdHHmmss);
 }
 
 
 
 /**
  *
  *     :               
  * @param date          
  * @return        :
  *               
  */
 public static String parseSqlDateToString(java.sql.Date date)
 {
  return String.valueOf(date);
 }
 
 
 /**
  * 
  *     :            java.util.Date     
  * @param date          
  * @return        :
  *              
  */
 public static java.util.Date parseSqlDateToDate(java.sql.Date date)
 {
  String str = DateOperateUtils.parseSqlDateToString(date);
  return DateOperateUtils.parseStringToDate(str, DateConstants.DEFAULT_DATE_FORMAT);
 }
 
 
 /**
  * 
  *     :                    
  * @param time         
  * @param format      
  * @return          :
  *                  
  */
 public static String parseLongToString(long time , String format)
 {
  java.util.Date date = new java.util.Date(time);
  return DateOperateUtils.parseDateToString(date, format);
 }
 
 
 /**
  * 
  *     : java.util.Date                
  * @param date   java.util.Date     
  * @return         :
  *                      
  */
 public static java.sql.Date parseUDateToSqlDate(java.util.Date date)
 {
  if(date == null)
  {
   return null;
  }
  return new java.sql.Date(date.getTime());
 }
 
 
  /**
   * 
   *     : java.util.Date   java.sql.Timestamp
   * @param date      java.util.Date  
   * @return       :
   *           java.sql.Timestamp
   */
  public static java.sql.Timestamp parseToSqlTimestamp(java.util.Date date)
  {
     if (date == null)
     {
        return null;
     }
     return new java.sql.Timestamp(date.getTime());
  }
  
  
    /**
     *     :                
     * @param date          
     * @param dayOfWeek    
     * @return            :
     *                 
     */
    public static java.util.Date getDateOfWeek(java.util.Date date, int dayOfWeek)
    {
       Calendar c = Calendar.getInstance();
       c.setTime(date);
       c.set(Calendar.DAY_OF_WEEK, dayOfWeek);
       return c.getTime();
    }

    
    /**
     *     :              
     * @param date       
     * @return         :
     *               
     */
    public static int getWeekOfYear(java.util.Date date)
    {
       Calendar cal = Calendar.getInstance();
       cal.setTime(date);
       return cal.get(Calendar.WEEK_OF_YEAR);
    }

    
    /**
     *     :               
     * @param year     
     * @param nWeek    
     * @return        :
     *                     
     */
    public static java.util.Date getFirstDateOfWeek(int year, int nWeek)
    {
       Calendar c = Calendar.getInstance();
       c.set(Calendar.YEAR, year);
       c.set(Calendar.WEEK_OF_YEAR, nWeek);
       c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());
       return c.getTime();
    }

    
    /**
     *     :                
     * @param year     
     * @param nWeek    
     * @return        :
     *                      
     */
    public static java.util.Date getLastDateOfWeek(int year, int nWeek)
    {
       Calendar c = Calendar.getInstance();
       c.set(Calendar.YEAR, year);
       c.set(Calendar.WEEK_OF_YEAR, nWeek);
       c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6);
       return c.getTime();
    }

    
    /**
     *     :      
     * @return   :
     *              
     */
    public static int getCurrentYear()
    {
       Calendar c = Calendar.getInstance();
       return c.get(Calendar.YEAR);
    }
    
    
    /**
     *     :     
     * @return    :
     *              
     */
    public static int getCurrentMonth()
    {
       Calendar c = Calendar.getInstance();
       return c.get(Calendar.MONTH) + 1;
    }

    
    /**
     *     :          
     * @param date     
     * @return       :
     *             
     */
    public static int getYearOfDate(java.util.Date date)
    {
       if (date == null)
       {
          return 0;
       }
       Calendar c = Calendar.getInstance();
       c.setTime(date);
       return c.get(Calendar.YEAR);
    }

    
    /**
     *     :          
     * @param date     
     * @return         :
     *                 
     */
    public static int getMonthOfDate(java.util.Date date)
    {
       if (date == null)
       {
          return 0;
       }
       Calendar c = Calendar.getInstance();
       c.setTime(date);
       return c.get(Calendar.MONTH) + 1;
    }
   

    /**
     *     :         
     * @param date     
     * @return         :
     *                    
     */
    public static int getDayOfDate(java.util.Date date)
    {
       if (date == null)
       {
          return 0;
       }
       Calendar c = Calendar.getInstance();
       c.setTime(date);
       return c.get(Calendar.DAY_OF_MONTH);
    }
   

    /**
     *     :          
     * @param date     
     * @return       :
     *                
     */
    public static int getHourOfDate(java.util.Date date)
    {
       if (date == null)
       {
          return 0;
       }
       Calendar c = Calendar.getInstance();
       c.setTime(date);
       return c.get(Calendar.HOUR_OF_DAY);
    }
   
}




対応する定数


//DateConstants.java

package com.myclover.utils.constant;

/**
 *     :          
 * @author   
 * @version 1.0
 *
 */
public class DateConstants {
 
    public static final String DEFAULT_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
    public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";
    public static final String YYMMdd="yy-MM-dd";
    public static final String YYMMddHHmmss="yy-MM-dd HH:mm:ss";
    public static final String YYMMdd_ZH="yy MM dd ";
    public static final String YYMMdd_ZHHHmmss="yy MM dd  HH:mm:ss";
    public static final String YYYYMMdd="yyyyMMdd";
    public static final String YYYYMMddHHmmss="yyyyMMddHHmmss";
    public static final String YYYYMMdd_ZH="yyyy MM dd ";
    public static final String YYYYMMdd_ZHHHmmss="yyyy MM dd  HH:mm:ss";
    public static final String YYYYMd="yyyy/MM/dd";
    public static final String YYYYMdHHmmss="yyyy/MM/dd HH:mm:ss";
    public static final String YYMd="yy/MM/dd";
    public static final String YYMdHHmmss="yy/MM/dd HH:mm:ss";
    public static final String HHmmss="HH:mm:ss";
    
}