java日期格式轉換工具類

來源:互聯網
上載者:User
package com.ace.backoffice.utils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import javax.xml.datatype.DatatypeConfigurationException;import javax.xml.datatype.DatatypeFactory;import javax.xml.datatype.XMLGregorianCalendar;public class DateUtils {/** * 將指定字串轉換成日期 *  * @param date *            String 日期文字 * @param datePattern *            String 日期格式 * @return Date */public static java.util.Date getFormatDate(String date, String datePattern) {SimpleDateFormat sd = new SimpleDateFormat(datePattern);return sd.parse(date, new java.text.ParsePosition(0));}/** * 將指定日期對象轉換成格式化字串 *  * @param date *            Date XML日期對象 * @param datePattern *            String 日期格式 * @return String */public static String getFormattedString(Date date, String datePattern) {SimpleDateFormat sd = new SimpleDateFormat(datePattern);return sd.format(date);}/** * 將指定XML日期對象轉換成格式化字串 *  * @param xmlDate *            Date XML日期對象 * @param datePattern *            String 日期格式 * @return String */public static String getFormattedString(XMLGregorianCalendar xmlDate,String datePattern) {SimpleDateFormat sd = new SimpleDateFormat(datePattern);Calendar calendar = xmlDate.toGregorianCalendar();return sd.format(calendar.getTime());}/** * 將指定XML日期對象轉換成日期對象 *  * @param xmlDate *            Date XML日期對象 * @param datePattern *            String 日期格式 * @return Date */public static Date xmlGregorianCalendar2Date(XMLGregorianCalendar xmlDate) {return xmlDate.toGregorianCalendar().getTime();}public static String getThisYear() {// 獲得當前日期Calendar cldCurrent = Calendar.getInstance();// 獲得年月日String strYear = String.valueOf(cldCurrent.get(Calendar.YEAR));return strYear;}public static XMLGregorianCalendar convert2XMLCalendar(Calendar calendar) {try {DatatypeFactory dtf = DatatypeFactory.newInstance();return dtf.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 static java.sql.Timestamp getNowTime(String dateformat) {Date now = new Date();SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);// 可以方便地修改日期格式String dateString = dateFormat.format(now);SimpleDateFormat sd = new SimpleDateFormat(dateformat);Date dateFormt = sd.parse(dateString, new java.text.ParsePosition(0));java.sql.Timestamp dateTime = new java.sql.Timestamp(dateFormt.getTime());return dateTime;// return hehe;}// 擷取指定時間public static java.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 = new java.sql.Timestamp(dateFormt.getTime());                   return dateTime;       // return hehe;        }/** * @param 含有yyyy-MM-dd'T'hh:mm:ss.SSS格式的時間轉換. * @return */public static String 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();}return str;}public static void main(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 static String getBefore2HourDate(){SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");   Calendar c = Calendar.getInstance();     c.add(Calendar.HOUR_OF_DAY, -2); // 目前時間加3小時    return df.format(c.getTime());}/** *  * @param time1   目前時間   * @param time2  比較時間  * @return  如果time1比time2大gap分鐘,則返回true; */public static boolean compareDateTime(Date time1, Date time2, int gap) {return time1.getTime() - time2.getTime() > gap * 60 * 1000;}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.