1. 程式人生 > >java的Timestamp和date與string的轉換

java的Timestamp和date與string的轉換

一、萬用字元泛型獲取要任意型別

	public static Date parse(String dateStr, String pattern, Class<?> resultClass) {
		if (dateStr == null)
			throw new IllegalArgumentException("dateStr is null");
		if (pattern == null) {
			throw new IllegalArgumentException("pattern is null");
		} else {
			SimpleDateFormat formatter = new SimpleDateFormat(pattern);
			Date date;
			try {
				date = formatter.parse(dateStr);
			} catch (Exception e) {
				throw new RuntimeException(e);
			}
			if (resultClass == null)
				return date;
			else if (resultClass.equals(java.sql.Date.class)) {
				return new java.sql.Date(date.getTime());
			} else if (resultClass.equals(java.sql.Timestamp.class)) {
				return new java.sql.Timestamp(date.getTime());
			} else {
				throw new IllegalArgumentException(
					"result class must be java.sql.Date or java.sql.Timestamp");
			}
		}
	}

二、將java.util.Date物件轉化為String字串

 /**
* @param date
*            要格式的java.util.Date物件
* @param strFormat
*            輸出的String字串格式的限定(如:"yyyy-MM-dd HH:mm:ss")
* @return 表示日期的字串
*/
public static String dateToStr(java.util.Date date, String strFormat) {
    SimpleDateFormat sf = new SimpleDateFormat(strFormat);
    String str = sf.format(date);
    return str;
}

三、將String字串轉換為java.util.Date格式日期

 /**
  * @param strDate
  *            表示日期的字串
  * @param dateFormat
  *            傳入字串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
  * @return java.util.Date型別日期物件(如果轉換失敗則返回null)
  */
  public static java.util.Date strToUtilDate(String strDate, String dateFormat) {
     SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
     java.util.Date date = null;
     try {
         date = sf.parse(strDate);
     } catch (ParseException e) {
         e.printStackTrace();
     }
     return date;
}

四、將java.sql.Timestamp物件轉化為String字串

 /**
  * @param time
  *            要格式的java.sql.Timestamp物件
  * @param strFormat
  *            輸出的String字串格式的限定(如:"yyyy-MM-dd HH:mm:ss")
  * @return 表示日期的字串
  */
 public static String dateToStr(java.sql.Timestamp time, String strFormat) {
     DateFormat df = new SimpleDateFormat(strFormat);
     String str = df.format(time);
     return str;
}

五、將String字串轉換為java.sql.Timestamp格式日期,用於資料庫儲存

 /**
 * @param strDate
 *            表示日期的字串
 * @param dateFormat
 *            傳入字串的日期表示格式(如:"yyyy-MM-dd HH:mm:ss")
 * @return java.sql.Timestamp型別日期物件(如果轉換失敗則返回null)
 */
public static java.sql.Timestamp strToSqlDate(String strDate, String dateFormat) {
    SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
    java.util.Date date = null;
    try {
            date = sf.parse(strDate);
    } catch (ParseException e) {
            e.printStackTrace();
    }
    java.sql.Timestamp dateSQL = new java.sql.Timestamp(date.getTime());
    return dateSQL;
}

六、將java.util.Date物件轉化為java.sql.Timestamp物件

 /**
  * @param date
  *            要轉化的java.util.Date物件
  * @return 轉化後的java.sql.Timestamp物件
  */
public static java.sql.Timestamp dateToTime(java.util.Date date) {
     String strDate = dateToStr(date, "yyyy-MM-dd HH:mm:ss SSS");
     return strToSqlDate(strDate, "yyyy-MM-dd HH:mm:ss SSS");
}

七、將java.sql.Timestamp物件轉化為java.util.Date物件

/**
  * 
  * @param time
  *            要轉化的java.sql.Timestamp物件
  * @return 轉化後的java.util.Date物件
  */
 public static java.util.Date timeToDate(java.sql.Timestamp time) {
     return time;
}