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