/**
* 日期处理工具类
* @author BIANDONGYU850
* @date 2012-7-26 下午07:38:46
* @path com.pingan.saims.scms.common.util
* @description
*/
public class DateUtil {
/**
* 默认日期格式化字符串:yyyy-MM-dd
*/
public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";
//日期格式化对象
private static SimpleDateFormat sdf = new SimpleDateFormat();
/**
* 将日期对象按照指定的格式转换成字符串
*@description
*@date 2012-7-26
*@author BIANDONGYU850
*@param date
*@param formatStr
*@return}
*/
public static String formatDateToString(Date date,String formatStr){
synchronized (sdf) {
sdf = new SimpleDateFormat(formatStr);
return sdf.format(date);
}
}
/**
* 将字符串对象按照指定的格式转换成日期
*@description
*@date 2012-7-26
*@author BIANDONGYU850
*@param date
*@param formatStr
*@return}
* @throws ParseException
*/
public static Date formatDateToString(String dateString,String formatStr) throws ParseException{
synchronized (sdf) {
sdf = new SimpleDateFormat(formatStr);
return sdf.parse(dateString);
}
}
/**
* 将日期对象按照默认的格式转换成字符串
*@description
*@date 2012-7-26
*@author BIANDONGYU850
*@param date
*@return}
*/
public static String formatDateToString(Date date){
return formatDateToString(date,DEFAULT_DATE_FORMAT);
}
/**
* 将字符串对象按照默认的格式转换成日期类型
*@description
*@date 2012-8-9
*@author EX-ZHANGWEI001
*@param date
*@return}
* @throws ParseException
*/
public static Date formatStringToDate(String date) throws ParseException
{
if(date != null)
{
synchronized (sdf) {
sdf = new SimpleDateFormat(DEFAULT_DATE_FORMAT);
return sdf.parse(date);
}
}
else{
return null;
}
}
/**
* 获取当天年,月,日
*@description
*@date 2012-8-2
*@author EX-ZHANGWEI001
*@param dateFlag
*@return}
*/
public static String getYearOrMonthOrDay(String dateFlag)
{
// 设置年、月、日
dateFlag = dateFlag.toLowerCase();
String date = formatDateToString(new Date());
String year = date.substring(0, 4);
String month = date.substring(5, 7);
String day = date.substring(8, 10);
if("yyyy".equals(dateFlag))
{
return year;
}
else if("mm".equals(dateFlag))
{
return month;
}
else
{
return day;
}
}
/**获取日期
*
* @param date 带时分秒的日期 2010-10 10:10:10
* @return 不带时分秒的日期 2010-10-10
* @throws ParseException
*/
public static Date getDateToDate(Date date) throws ParseException
{
sdf = new SimpleDateFormat("yyyy-MM-dd");
synchronized(sdf)
{
String dateString = sdf.format(date);
return sdf.parse(dateString);
}
}
/**加减日期时间
*
* @param date 计算的日期时间
* @param daynum 秒数(负数表示几天前,正数表示几天后)
* @return 计算后的日期
*/
public static Date apDatetime(Date date, int secondnum) throws ParseException
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.SECOND, secondnum);
return calendar.getTime();
}
/**加减日期
*
* @param date 计算的日期
* @param daynum 天数(负数表示几天前,正数表示几天后)
* @return 计算后的日期
*/
public static Date apDate(Date date, int daynum)
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, daynum);
return calendar.getTime();
}
}
DateUtil 日期常用工具,包括加减日期时间等。