<!-- String To Date -->
public static Date strToDate(String strDate) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
return format.parse(strDate);
}
public static Date objToDate(Object objDate) throws Exception {
String dateString = objDate.toString();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
return format.parse(dateString);
}
<!-- String的日期想转成Date类型的格式-->
public static Date strToDate(String strDate, String strFormat) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat(strFormat);
return format.parse(strDate);
}
public static Date formatDateToDate(Date idate, String strFormat) throws ParseException {
String ddate = null;
try {
ddate = DateUtils.format(idate);
} catch (ApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return DateUtils.strToDate(ddate, strFormat);
}
<!-- Date To String -->
public static String format(Date iDate) throws ApplicationException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
return format.format(iDate);
}
SimpleDateFormat format = new SimpleDateFormat(strFormat);
return format.format(iDate);
}
public static Date[] getFirstAndLastDays(String yyyy) {
Date date = getDateFromPattern("yyyy-MM-dd", yyyy + "-01-01");
String dateStr = formatDate(date);
String year = dateStr.substring(0, 4);
// 当年第一天的字符串形式。
String firstDayStr = dateStr.replaceFirst(year + "-//d{2}-//d{2}", year + "-01-01");
// 当年最后一天的字符串形式。
String lastDayStr = dateStr.replaceFirst(year + "-//d{2}-//d{2}", year + "-12-31");
Date firstDay = formatString(firstDayStr);
Date lastDay = formatString(lastDayStr);
return new Date[] { firstDay, lastDay };
}
public static Date getDateFromPattern(String parrern, String str) {
if (str == null || ("").equals(str))
// if (StringUtils.isEmpty(str))
return null;
SimpleDateFormat fmt = new SimpleDateFormat(parrern);
try {
return fmt.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
public static Date formatString(String dateStr) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
return sdf.parse(dateStr);
} catch (Exception e) {
return null;
}
}
public static Date formatFullString(String dateStr) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return sdf.parse(dateStr);
} catch (Exception e) {
return null;
}
}
public static String formatDate(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(date);
}
public static int getDayBetween(java.util.Date d1, java.util.Date d2) {
// return (int)(d1.getTime()-d2.getTime())/(1000*60*60*24);
Date[] d = new Date[2];
d[0] = d1;
d[1] = d2;
Calendar[] cal = new Calendar[2];
for (int i = 0; i < cal.length; i++) {
cal[i] = Calendar.getInstance();
cal[i].setTime(d[i]);
cal[i].set(Calendar.HOUR_OF_DAY, 0);
public static Date getBeforDate() {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DATE);
if (month > 5) {
String aString = year + "-" + (month - 5) + "-" + day;
Date date = formatString(aString);
return date;
}
String bString = (year - 1) + "-" + (month + 12 - 5) + "-" + day;
Date dates = formatString(bString);
return dates;
}
// 增加或减少的天数
public static Date addDay(int num) {
Calendar startDT = Calendar.getInstance();
startDT.setTime(new Date());
startDT.add(Calendar.DATE, num);
return startDT.getTime();
}
// 增加或减少天数 某个日期
public static Date addDay(Date date, int num) {
Calendar startDT = Calendar.getInstance();
startDT.setTime(date);
startDT.add(Calendar.DATE, num);
return startDT.getTime();
}
// 增加或减少月数 当天
public static Date addMonth(int num) {
Calendar startDT = Calendar.getInstance();
startDT.setTime(new Date());
startDT.add(Calendar.MONTH, num);
return startDT.getTime();
}
// 返回java.sql.date
public static java.sql.Date getFullSqlDate(Date date) {
return new java.sql.Date(date.getTime());
}
// 增加或减少月数 某个日期
public static Date addMonth(Date date, int num) {
Calendar startDT = Calendar.getInstance();
startDT.setTime(date);
startDT.add(Calendar.MONTH, num);
return startDT.getTime();
}
// 天数差
public static int getQuot() {
Calendar cc = Calendar.getInstance();
cc.setTime(new Date());
int currmum = cc.get(Calendar.DAY_OF_MONTH); // 当月的第几天
int maxmum = cc.getActualMaximum(Calendar.DAY_OF_MONTH); // 当月最大天数
return (maxmum - currmum);
}
//
public static Date getLastDay() {
int quot = getQuot(); // 天数差
Date lastDate = addDay(quot); // 最后一天
return lastDate;
}
public static Date changeDateToUtil(java.sql.Date dt) {
Date dtTemp = new Date(dt.getTime());
return dtTemp;
}
<!-- Date To SqlDate -->
public static java.sql.Date changeDateToSql(Date dt) {
java.sql.Date dtTemp = new java.sql.Date(dt.getTime());
return dtTemp;
}
public static Date getLastDateByMonth(Date date) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.set(Calendar.MONTH, now.get(Calendar.MONTH) + 1);
now.set(Calendar.DATE, 1);
now.set(Calendar.DATE, now.get(Calendar.DATE) - 1);
now.set(Calendar.HOUR, 11);
now.set(Calendar.MINUTE, 59);
now.set(Calendar.SECOND, 59);
return now.getTime();
}
public static Date getFirstDateByMonth(Date date) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.set(Calendar.DATE, 0);
now.set(Calendar.HOUR, 12);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
return now.getTime();
}
public static int getDayByMonth(Date date, int months) {
int tempMonth = date.getMonth() + 1 + months;
int years = tempMonth / 12;
int month = tempMonth % 12;
Calendar time = Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR, date.getYear() + years);
time.set(Calendar.MONTH, month - 1);// Calendar对象默认一月为0
int day = time.getActualMaximum(Calendar.DAY_OF_MONTH);// 本月份的天数
return day;
} public static Date getDateByAddDays(Date date, int days) {
Calendar now = Calendar.getInstance();
now.setTime(date);
now.set(Calendar.DATE, now.get(Calendar.DATE) + days);
return now.getTime();
}
cal[i].set(Calendar.MINUTE, 0);
cal[i].set(Calendar.SECOND, 0);
}
long m = cal[0].getTime().getTime();
long n = cal[1].getTime().getTime();
return (int) ((long) (m - n) / 1000);
}
@SuppressWarnings("deprecation")
public static Date getFristDayOfMonth(Date sDate1) {
Calendar cDay1 = Calendar.getInstance();
cDay1.setTime(sDate1);
final int fristDay = cDay1.getActualMinimum(Calendar.DAY_OF_MONTH);
Date fristDate = cDay1.getTime();
fristDate.setDate(fristDay);
return fristDate;
}
@SuppressWarnings("deprecation")
public static Date getLastDayOfMonth(Date sDate1) {
Calendar cDay1 = Calendar.getInstance();
cDay1.setTime(sDate1);
public static Timestamp changeDateToTime(Date dt) {
String str = format(dt, "yyyy-MM-dd HH:mm:ss");
return Timestamp.valueOf(str);
}
public static int getLastDayByMonth(Date date, int Months) {
return getSecondsBetween(getDateByMonth(new Date(), Months), date) / 86400;
}
// 获得周统计的统计时间
public static Date getStatDateByWeek(Long year, Long month, Long week) throws Exception {
Date date = strToDate(year + "-" + month, "yyyy-MM");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.DATE, cal.get(Calendar.DATE) + (7 + (Calendar.MONDAY) - cal.get(Calendar.DAY_OF_WEEK)) % 7
+ ((Long) (7 * week)).intValue());
return cal.getTime();
}
// 获得月统计的统计时间
public static Date getStatDateByMonth(Long year, Long month) throws ParseException {
Date date = strToDate(year + "-" + month, "yyyy-MM");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
return getFirstDayByMonth(cal.getTime());
}
// 获得季统计的统计时间
public static Date getStatDateByQuarter(Long year, Long quarter) throws ParseException {
Date date = strToDate(year + "-" + (quarter * 3), "yyyy-MM");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
return getFirstDayByMonth(cal.getTime());
}
// 获得半年统计的统计时间
public static Date getStatDateBySemi(Long year, Long semi) throws ParseException {
Date date = strToDate(year + "-" + (semi * 6), "yyyy-MM");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
return getFirstDayByMonth(cal.getTime());
}
// 获得年统计的统计时间
public static Date getStatDateByYear(Long year) throws ParseException {
Date date = strToDate((year + 1) + "-01-01", "yyyy-MM-dd");
return getFirstDayByMonth(date);
}
final int lastDay = cDay1.getActualMaximum(Calendar.DAY_OF_MONTH);
Date lastDate = cDay1.getTime();
lastDate.setDate(lastDay);
return lastDate;
}