DateUtil 日期常用工具

/**
 * 日期处理工具类
 * @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 日期常用工具,包括加减日期时间等。

posted on 2013-01-12 10:59  陈惟鲜的博客  阅读(183)  评论(0编辑  收藏  举报

导航