簡単な日付操作ツールクラス
多くのプロジェクトでは、日付の操作や変換が必要です.ここでは、日付の操作を簡単にまとめ、よく使われる方法をパッケージ化しました.コードがよく書けません.エビの皆さん、よろしくお願いします.
対応する定数
//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";
}