读书人

日期工具种

发布时间: 2012-09-28 00:03:35 作者: rapoo

日期工具类
日期工具类

public class DateUtils extends org.apache.commons.lang.time.DateUtils{    public static final SimpleDateFormat sdfShort = new SimpleDateFormat("yyyyMMdd");    public static final SimpleDateFormat sdfLongTimeFormat = new SimpleDateFormat("yyyy-MM-dd-HH");    public static final SimpleDateFormat sdfLong = new SimpleDateFormat("yyyy-MM-dd");    public static final SimpleDateFormat sdfLongTime = new SimpleDateFormat("yyyyMMddHHmmss");    public static final SimpleDateFormat sdfLongTimePlus = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    public static final SimpleDateFormat sdfLongTimePlusMill = new SimpleDateFormat("yyyyMMddHHmmssSSSS");    public static final SimpleDateFormat sdfLongTime_min = new SimpleDateFormat("yyyy-MM-dd HH:mm");    public static final SimpleDateFormat sdfLongTime_cn_min = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分");    public static final SimpleDateFormat sdfLong_y_m = new SimpleDateFormat("yyyy年MM月");    public static final SimpleDateFormat YEAR = new SimpleDateFormat("yyyy");    public static final SimpleDateFormat MM = new SimpleDateFormat("MM");    public static final SimpleDateFormat dd = new SimpleDateFormat("dd");    /**     * 获取当前日期为日期型     *     * @return 当前日期,java.util.Date类型     */    public static Date getCurrentDate()    {        return new Date();    }    /**     * @param str 待解析字符串     * @param sdf 格式定义     * @return Date类,解析错误返回空     * @see java.text.SimpleDateFormat#parse(String)     */    public static Date parse(String str, SimpleDateFormat sdf) throws ParseException    {        return sdf.parse(str);    }    /**     * @param date date     * @param sdf  格式化工具类     * @return     */    public static String format(Date date, SimpleDateFormat sdf)    {        return sdf.format(date);    }    /**     * 支持null判断,如果两个都为空,返回true.(处理逻辑类似StringUtils)     * 支持Date,TimeStamp,以及二者混合比较     *     * @param date1     * @param date2     * @return     */    public static final boolean equals(Date date1, Date date2)    {        if (date1 == null && date2 == null)        {            return false;        }        else if (date1 != null && date2 != null && !(date1.getTime() == date2.getTime()))        {            return false;        }        return true;    }    /**     * 得到日期中的月份     *     * @param date 日期     * @return yyyy格式的年份     */    public static String convertDateToMonth(Date date)    {        return MM.format(date);    }    /**     * 得到日期中的日     *     * @param date 日期     * @return yyyy格式的年份     */    public static String convertDateToDay(Date date)    {        return dd.format(date);    }    /**     * 得到将date增加指定月数后的date     *     * @param date       日期     * @param intBetween 增加的月份     * @return date 加上intBetween月数后的日期     * @see org.apache.commons.lang.time.DateUtils#addMonths(java.util.Date, int)     */    @Deprecated    public static Date increaseMonth(Date date, int intBetween)    {//Calendar calo = Calendar.getInstance();//calo.setTime(date);//calo.add(Calendar.MONTH, intBetween);//return calo.getTime();        return addMonths(date, intBetween);    }    /**     * 得到将date增加指定天数后的date     *     * @param date       日期     * @param intBetween 增加的天数     * @return date 加上intBetween天数后的日期     * @see org.apache.commons.lang.time.DateUtils#addDays(java.util.Date, int)     */    @Deprecated    public static Date increaseDay(Date date, int intBetween)    {//Calendar calo = Calendar.getInstance();//calo.setTime(date);//calo.add(Calendar.DATE, intBetween);//return calo.getTime();        return addDays(date, intBetween);    }    /**     * 得到将date增加指定分钟后的date     *     * @param date       日期     * @param intBetween 增加的分钟     * @return date 加上intBetween分钟后的日期     * @see org.apache.commons.lang.time.DateUtils#addMinutes(java.util.Date, int)     */    @Deprecated    public static Date increaseMinute(Date date, int intBetween)    {//Calendar calo = Calendar.getInstance();//calo.setTime(date);//calo.add(Calendar.MINUTE, intBetween);//return calo.getTime();        return addMinutes(date, intBetween);    }    /**     * 得到将date增加指定年数后的date     *     * @param date       日期     * @param intBetween 增加的年数     * @return date加上intBetween年数后的日期     * @see org.apache.commons.lang.time.DateUtils#addYears(java.util.Date, int)     */    @Deprecated    public static Date increaseYear(Date date, int intBetween)    {//Calendar calo = Calendar.getInstance();//calo.setTime(date);//calo.add(Calendar.YEAR, intBetween);//return calo.getTime();        return addYears(date, intBetween);    }    /**     * 得到两个日期之间相差的天数     *     * @param newDate 大的日期     * @param oldDate 小的日期     * @return newDate-oldDate相差的天数     */    public static int daysBetweenDates(Date newDate, Date oldDate)    {        int days = 0;        Calendar calo = Calendar.getInstance();        Calendar caln = Calendar.getInstance();        calo.setTime(oldDate);        caln.setTime(newDate);        int oday = calo.get(Calendar.DAY_OF_YEAR);        int nyear = caln.get(Calendar.YEAR);        int oyear = calo.get(Calendar.YEAR);        while (nyear > oyear)        {            calo.set(Calendar.MONTH, 11);            calo.set(Calendar.DATE, 31);            days = days + calo.get(Calendar.DAY_OF_YEAR);            oyear = oyear + 1;            calo.set(Calendar.YEAR, oyear);        }        int nday = caln.get(Calendar.DAY_OF_YEAR);        days = days + nday - oday;        return days;    }    /**     * 得到将date增加指定月数后的date     *     * @param date       日期     * @param intBetween 增加的月份     * @return date 加上intBetween月数后的日期     * @see org.apache.commons.lang.time.DateUtils#addHours(java.util.Date, int)     */    @Deprecated    public static Date increaseHours(Date date, int intBetween)    {//Calendar calo = Calendar.getInstance();//calo.setTime(date);//calo.add(Calendar.HOUR, intBetween);//return calo.getTime();        return addHours(date, intBetween);    }    /**     * 得到date的月份天数     * @desc     * @param date     * @return     */    public static int getMonthDays(Date date){Calendar time=Calendar.getInstance();time.clear();time.setTime( date );int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);// 本月份的天数return day;}}

读书人网 >编程

热点推荐