packagecom.ace.backoffice.utils;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjavax.xml.datatype.DatatypeConfigurationException;importjavax.xml.datatype.DatatypeFactory;importjavax.xml.datatype.XMLGregorianCalendar;public classDateUtils {/*** 将指定字符串转换成日期
*
*@paramdate
* String 日期字符串
*@paramdatePattern
* String 日期格式
*@returnDate*/
public staticjava.util.Date getFormatDate(String date, String datePattern) {
SimpleDateFormat sd= newSimpleDateFormat(datePattern);return sd.parse(date, new java.text.ParsePosition(0));
}/*** 将指定日期对象转换成格式化字符串
*
*@paramdate
* Date XML日期对象
*@paramdatePattern
* String 日期格式
*@returnString*/
public staticString getFormattedString(Date date, String datePattern) {
SimpleDateFormat sd= newSimpleDateFormat(datePattern);returnsd.format(date);
}/*** 将指定XML日期对象转换成格式化字符串
*
*@paramxmlDate
* Date XML日期对象
*@paramdatePattern
* String 日期格式
*@returnString*/
public staticString getFormattedString(XMLGregorianCalendar xmlDate,
String datePattern) {
SimpleDateFormat sd= newSimpleDateFormat(datePattern);
Calendar calendar=xmlDate.toGregorianCalendar();returnsd.format(calendar.getTime());
}/*** 将指定XML日期对象转换成日期对象
*
*@paramxmlDate
* Date XML日期对象
*@paramdatePattern
* String 日期格式
*@returnDate*/
public staticDate xmlGregorianCalendar2Date(XMLGregorianCalendar xmlDate) {returnxmlDate.toGregorianCalendar().getTime();
}public staticString getThisYear() {//获得当前日期
Calendar cldCurrent =Calendar.getInstance();//获得年月日
String strYear =String.valueOf(cldCurrent.get(Calendar.YEAR));returnstrYear;
}public staticXMLGregorianCalendar convert2XMLCalendar(Calendar calendar) {try{
DatatypeFactory dtf=DatatypeFactory.newInstance();returndtf.newXMLGregorianCalendar(
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH)+1,
calendar.get(Calendar.DAY_OF_MONTH),
calendar.get(Calendar.HOUR),
calendar.get(Calendar.MINUTE),
calendar.get(Calendar.SECOND),
calendar.get(Calendar.MILLISECOND),
calendar.get(Calendar.ZONE_OFFSET)/(1000*60));
}catch(DatatypeConfigurationException e) {
e.printStackTrace();return null;
}
}//获取当天时间
public staticjava.sql.Timestamp getNowTime(String dateformat) {
Date now= newDate();
SimpleDateFormat dateFormat= new SimpleDateFormat(dateformat);//可以方便地修改日期格式
String dateString =dateFormat.format(now);
SimpleDateFormat sd= newSimpleDateFormat(dateformat);
Date dateFormt= sd.parse(dateString, new java.text.ParsePosition(0));
java.sql.Timestamp dateTime= newjava.sql.Timestamp(dateFormt
.getTime());returndateTime;//return hehe;
}//获取指定时间
public staticjava.sql.Timestamp getNowNewTime(String date,String dateformat){//Date now = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);//可以方便地修改日期格式
dateFormat.parse(date, new java.text.ParsePosition(0));//String dateString= dateFormat.format(date);
Date dateFormt= dateFormat.parse(date, new java.text.ParsePosition(0));
java.sql.Timestamp dateTime= newjava.sql.Timestamp(dateFormt.getTime());returndateTime;//return hehe;
}/***@param含有yyyy-MM-dd'T'hh:mm:ss.SSS格式的时间转换.
*@return
*/
public staticString getTFormatString(String tdate) {
SimpleDateFormat format1= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
String str="";try{
java.util.Date date=format1.parse(tdate);
SimpleDateFormat format2= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
str=format2.format(date);
}catch(ParseException e) {
e.printStackTrace();
}returnstr;
}public static voidmain(String[] args) {
SimpleDateFormat sd= new SimpleDateFormat("yyyyMMdd");
String date= "20110202";
System.out.println(sd.parse(date,new java.text.ParsePosition(0)));
System.out.println(getBefore2HourDate());
}//获取当前时间前2个小时的时间。
public staticString getBefore2HourDate(){
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Calendar c=Calendar.getInstance();
c.add(Calendar.HOUR_OF_DAY,-2); //目前時間加3小時
returndf.format(c.getTime());
}/***
*@paramtime1 当前时间
*@paramtime2 比较时间
*@return如果time1比time2大gap分钟,则返回true;*/
public static boolean compareDateTime(Date time1, Date time2, intgap) {return time1.getTime() - time2.getTime() > gap * 60 * 1000;
}
}