/**
* 将Date转Calendar
* @param date
* @see [类、类#方法、类#成员]
*/
public static Calendar toCalendar(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
return c;
}
/**
* 对date,加上day天
* @param date
* @param day
* @see [类、类#方法、类#成员]
*/
public static String addDay(final Date date, final int day) {
DateFormat dateFormat = new SimpleDateFormat(datePattern, Locale.CHINESE);
return dateFormat.format(operateDay(date, day));
}
/**
* 对date,加上day天
* @param date
* @param day
* @see [类、类#方法、类#成员]
*/
public static Date operateDay(final Date date, final int day) {
// return DateUtils.addDays(date, amount);
Calendar c = toCalendar(date);
c.add(Calendar.DATE, day);
return c.getTime();
}
/**
* 对date,加上month月
* @param date
* @param month
String
* @see [类、类#方法、类#成员]
*/
public static String addMonth(final Date date, final int month) {
DateFormat dateFormat = new SimpleDateFormat(datePattern, Locale.CHINESE);
return dateFormat.format(operateDay(date, month));
}
/**
* 对date,加上month月
*
* @param date
* @param month
Date
* @see [类、类#方法、类#成员]
*/
public static Date operateMonth(final Date date, final int month) {
Calendar c = toCalendar(date);
c.add(Calendar.MONTH, month);
return c.getTime();
}
/**
* 对date,加上year年
* @param date
* @param year
String
* @see [类、类#方法、类#成员]
*/
public static String addYear(final Date date, final int year) {
DateFormat dateFormat = new SimpleDateFormat(datePattern, Locale.CHINESE);
return dateFormat.format(operateDay(date, year));
}
/**
* 对date,加上year年
* @param date
* @param year
Date
* @see [类、类#方法、类#成员]
*/
public static Date opearteYear(final Date date, final int year) {
Calendar c = toCalendar(date);
c.add(Calendar.YEAR, year);
return c.getTime();
}
/**
* 比较日期 ,得到较大的日期
*/
public Date greatDate(Date date1, Date date2) {
return date1.getTime() > date2.getTime() ? date1 : date2;
}
/**
* 比较日期 ,得到较小的日期
*/
public Date lessDate(Date date1, Date date2) {
return date1.getTime() < date2.getTime() ? date1 : date2;
}
/**
* 当前年
* @see [类、类#方法、类#成员]
*/
public static int getToYear(){
return getCalendar().get(Calendar.YEAR);
}
/**
* 当前月
* @see [类、类#方法、类#成员]
*/
public static int getToMonth(){
return (getCalendar().get(Calendar.MONTH)+1);
}
/**
* 当前日(月中日期)
* @see [类、类#方法、类#成员]
*/
public static int getToDay(){
return getCalendar().get(Calendar.DAY_OF_MONTH);
}
/**
* date的年
* @see [类、类#方法、类#成员]
*/
public static int getYear(Date date){
return toCalendar(date).get(Calendar.YEAR);
}
/**
* date的月
* @see [类、类#方法、类#成员]
*/
public static int getMonth(Date date){
return (toCalendar(date).get(Calendar.MONTH)+1);
}
/**
* date的日(月中日期)
* @see [类、类#方法、类#成员]
*/
public static int getDay(Date date){
return toCalendar(date).get(Calendar.DAY_OF_MONTH);
}
/**
* 根据year,month,day获得Date
* @param year
* @param month
* @param day
* @see [类、类#方法、类#成员]
*/
public static Date getDate(int year, int month, int day){
Calendar c = new GregorianCalendar(year, (month-1), day);
return c.getTime();
}
/**
* 根据Date获得当天的起始时间,即0时
* @param year
* @param month
* @param day
* @see [类、类#方法、类#成员]
*/
public static Calendar toBeginOfCalendar(Date date){
Calendar c = toCalendar(date);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
return new GregorianCalendar(year, month, day);
}
/**
* 根据Date获得当天的起始时间,即0时
* @param year
* @param month
* @param day
* @see [类、类#方法、类#成员]
*/
public static Date toBeginOfDate(Date date){
return (toBeginOfCalendar(date)).getTime();
}
/**
* 得到本月最后一天
* @param date
* @see [类、类#方法、类#成员]
*/
public static Date getLastDayOfMonth(Date date){
Calendar c = new GregorianCalendar(getYear(date), getMonth(date), 1);
c.add(Calendar.DATE, -1);
return c.getTime();
}
/**
* 将java.util.Date转换为java.sql.Date
* @param date
* @see [类、类#方法、类#成员]
*/
public static java.sql.Date toSqlDate(Date date){
return new java.sql.Date(date.getTime());
}