日期工具类

日期工具类

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;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值