importjava.sql.Timestamp;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjava.util.Locale;importjava.util.TimeZone;
public classDateUtils {
public staticDate getCurDate() {return newDate();
}
public staticTimestamp getTimestamp(Date date) {if (date == null)return null;else{return newTimestamp(date.getTime());
}
}
public staticTimestamp getCurTimestamp() {return new Timestamp(newDate().getTime());
}
public staticDate formateDate(String dateStr) {if (dateStr == null || "".equals(dateStr.trim()))return null;
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");try{
Date date=sdf.parse(dateStr);returndate;
}catch(ParseException e) {
e.printStackTrace();
}return null;
}
public staticTimestamp formateTimeStamp(String tsStr) {if (tsStr == null || "".equals(tsStr.trim()))return null;try{
Timestamp ts=Timestamp.valueOf(tsStr.trim());returnts;
}catch(Exception e) {
e.printStackTrace();
}return null;
}
public staticString getDateStr(Date date) {if (date == null)return null;
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
String dateStr=sdf.format(date);returndateStr;
}public staticString getTime2Str(Date date){if (date == null)return null;
SimpleDateFormat sdf= new SimpleDateFormat("HH:mm:ss");
String dateStr=sdf.format(date);returndateStr;
}
public staticString getTimestampStr(Timestamp ts) {if (ts == null)return null;
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String tsStr=sdf.format(ts);returntsStr;
}
public staticString formatTimestamp2Str(Timestamp ts) {if (ts == null)return null;
SimpleDateFormat sdf= new SimpleDateFormat("MM-dd HH:mm");
String tsStr=sdf.format(ts);returntsStr;
}
public staticString formatTimestamp2Str(Date ts) {if (ts == null)return null;
SimpleDateFormat sdf= new SimpleDateFormat("MM-dd HH:mm");
String tsStr=sdf.format(ts);returntsStr;
}
public staticString getTimestampStr(Date date) {if (date == null)return null;
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String tsStr=sdf.format(date);returntsStr;
}
public staticTimestamp getStartTimestampByDate(Date date) {if (date == null)return null;
Calendar c1=Calendar.getInstance();
c1.setTime(date);
c1.set(Calendar.HOUR_OF_DAY,0);
c1.set(Calendar.MINUTE,0);
c1.set(Calendar.SECOND,0);
c1.set(Calendar.MILLISECOND,0);return newTimestamp(c1.getTimeInMillis());
}
public staticTimestamp getEndTimestampByDate(Date date) {if (date == null)return null;
Calendar c1=Calendar.getInstance();
c1.setTime(date);
c1.set(Calendar.HOUR_OF_DAY,23);
c1.set(Calendar.MINUTE,59);
c1.set(Calendar.SECOND,59);
c1.set(Calendar.MILLISECOND,999);return newTimestamp(c1.getTimeInMillis());
}
public staticDate dateAdd(Date curDate, Integer count) {if (curDate == null || count == null)return null;return new Date(curDate.getTime() + count * 24 * 60 * 60 * 1000L);
}
public staticTimestamp timeAddSecond(Timestamp curTimestamp, Integer count) {if (curTimestamp == null || count == null)return null;return new Timestamp(curTimestamp.getTime() + count * 1000);
}
public static intdateDiffMont(Date curDate, Date oldDate) {if (curDate == null || oldDate == null)return 0;if (oldDate.getTime() >=curDate.getTime()) {return 0;
}
Calendar c=Calendar.getInstance();
c.setTime(curDate);int curYear =c.get(Calendar.YEAR);int curMonth =c.get(Calendar.MONTH);
c.setTime(oldDate);int oldYear =c.get(Calendar.YEAR);int oldMonth =c.get(Calendar.MONTH);intresult;if (curYear ==oldYear) {
result= curMonth - oldMonth;//两个日期相差几个月,即月份差
} else{
result= 12 * (curYear - oldYear) + curMonth - oldMonth;//两个日期相差几个月,即月份差
}returnresult;
}
public static booleancompare(Date date1, Date date2) {if (date1 == null || date2 == null)return false;
Calendar c1=Calendar.getInstance();
c1.setTime(date1);
c1.set(Calendar.HOUR_OF_DAY,0);
c1.set(Calendar.MINUTE,0);
c1.set(Calendar.SECOND,0);
c1.set(Calendar.MILLISECOND,0);
Calendar c2=Calendar.getInstance();
c2.setTime(date2);
c2.set(Calendar.HOUR_OF_DAY,0);
c2.set(Calendar.MINUTE,0);
c2.set(Calendar.SECOND,0);
c2.set(Calendar.MILLISECOND,0);if (c1.getTimeInMillis() >=c2.getTimeInMillis())return true;else
return false;
}
public staticTimestamp getFirstDayOfMonth(Date curDate) {if (curDate == null)return null;
Calendar c=Calendar.getInstance();
c.setTime(curDate);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
c.set(Calendar.DATE,1);//设为当前月的1号
System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());
}
public staticTimestamp getFirstDayOfNextMonth(Date curDate) {if (curDate == null)return null;
Calendar c=Calendar.getInstance();
c.setTime(curDate);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
c.set(Calendar.DATE,1);//设为当前月的1号
c.add(Calendar.MONTH, 1);// System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());
}
public staticTimestamp getFirstDayOfYear(String yearStr) {if (yearStr == null)return null;
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,newInteger(yearStr));
c.set(Calendar.MONTH,0); // c.set(Calendar.DATE, 1);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());
}
public staticTimestamp getLastDayOfYear(String yearStr) {if (yearStr == null)return null;
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,newInteger(yearStr));
c.set(Calendar.MONTH,11); // c.set(Calendar.DATE, 31);
c.set(Calendar.HOUR_OF_DAY,23);
c.set(Calendar.MINUTE,59);
c.set(Calendar.SECOND,59);
c.set(Calendar.MILLISECOND,999);
System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());
}
public staticTimestamp getFirstDayOfQuarter(String yearStr, String qurStr) {if (yearStr == null)return null;if (qurStr == null)return null;
String qurTmp= "";if ("1".equals(qurStr))
qurTmp= "0";else if ("2".equals(qurStr))
qurTmp= "3";else if ("3".equals(qurStr))
qurTmp= "6";else if ("4".equals(qurStr))
qurTmp= "9";
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,newInteger(yearStr));
c.set(Calendar.MONTH,new Integer(qurTmp)); // c.set(Calendar.DATE, 1);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());
}
public staticTimestamp getFirstDayOfMonth(String yearStr, String monthStr) {if (yearStr == null)return null;if (monthStr == null)return null;
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR,newInteger(yearStr));
c.set(Calendar.MONTH,new Integer(monthStr) - 1); // c.set(Calendar.DATE, 1);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());
}
public staticTimestamp getFirstDayOfPreMonth(Timestamp endTime) {
Calendar c=Calendar.getInstance();
c.setTime(newDate(endTime.getTime()));
System.out.println(c.getTime());int y =c.get(Calendar.YEAR);int m = c.get(Calendar.MONTH) - 1;
System.out.println(y);
System.out.println(m);if (m == -1) {
y= y - 1;
m= 11;
}
c.set(Calendar.YEAR, y);
c.set(Calendar.MONTH, m);return newTimestamp(c.getTimeInMillis());
}
public staticTimestamp getPrevYearFirstDayOfMonth(Date curDate) {if (curDate == null)return null;
Calendar c=Calendar.getInstance();
c.setTime(curDate);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
c.set(Calendar.DATE,1);//设为当前月的1号
c.add(Calendar.YEAR, -1);// System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());
}
public staticTimestamp getPrevYearFirstDayOfNextMonth(Date curDate) {if (curDate == null)return null;
Calendar c=Calendar.getInstance();
c.setTime(curDate);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
c.set(Calendar.DATE,1);//设为当前月的1号
c.add(Calendar.MONTH, 1);// c.add(Calendar.YEAR, -1);// System.out.println(newTimestamp(c.getTimeInMillis()));return newTimestamp(c.getTimeInMillis());
}
public staticString cvtTimestampToStr(Timestamp tmp) {if (tmp == null)return "";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy.MM");
String timeStr= sdf.format(newDate(tmp.getTime()));
System.out.println(timeStr);returntimeStr;
}
public staticString cvtDateToStr(Date tmp) {if (tmp == null)return "";
SimpleDateFormat sdf= new SimpleDateFormat("yyyy.MM");
String timeStr=sdf.format(tmp);
System.out.println(timeStr);returntimeStr;
}
public staticInteger diffTimestamp4Second(Timestamp startTime,
Timestamp endTime) {if (startTime == null || endTime == null)return 0;
Integer diff= newLong(
(endTime.getTime()- startTime.getTime()) / 1000).intValue();returndiff;
}
public staticString getCurrentYYYYMMDDHHMMSS() {
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));
Date currTime= newDate();
String thisTime= newString(formatter.format(currTime));returnthisTime;
}
public staticString getYYYYMMDDHHMMSS(Date inputDate) {
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));
String thisTime= newString(formatter.format(inputDate));returnthisTime;
}
public staticString getCurrentYYYYMMDDHHMMssSSS() {
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-ddHHmmssSSS", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));
Date currTime= newDate();
String thisTime= newString(formatter.format(currTime));returnthisTime;
}
public staticString getCurrentYYYYMMDDHHMMssSSSFormat() {
SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMddHHmmssSSS", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));
Date currTime= newDate();
String thisTime= newString(formatter.format(currTime));returnthisTime;
}
public staticString getCurrentYYYYMMDDFormat() {
SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMdd", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));
Date currTime= newDate();
String thisTime= newString(formatter.format(currTime));returnthisTime;
}
public staticString getCurrentYYYYMMDD() {
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));
Date currTime= newDate();
String thisTime= newString(formatter.format(currTime));returnthisTime;
}
public staticString getCurrent_yyyyMMddHHmmss() {
SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMddHHmmss", Locale.US);
formatter.setTimeZone(TimeZone.getTimeZone("GMT+8"));
Date currTime= newDate();
String thisTime= newString(formatter.format(currTime));returnthisTime;
}
public staticString getyMdHms(String str){
StringBuffer sb=newStringBuffer();
String s=str.trim();if(!s.isEmpty()){if(s.length()>3){
sb.append(s.substring(0, 4));
}if(s.length()>5){
sb.append("-");
sb.append(s.substring(4, 6));
}if(s.length()>7){
sb.append("-");
sb.append(s.substring(6, 8));
}if(s.length()>9){
sb.append(" ");
sb.append(s.substring(8, 10));
}if(s.length()>11){
sb.append(":");
sb.append(s.substring(10, 12));
}if(s.length()>13){
sb.append(":");
sb.append(s.substring(12, 14));
}
}returnsb.toString();
}
}