1. 程式人生 > >字串 與 java.sql.Timestamp轉換部落格分類: javaJavaSQL

字串 與 java.sql.Timestamp轉換部落格分類: javaJavaSQL

package test;

import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* 時間戳與字串轉換
* @author Administrator
*
*/
public class DateUtil {

/**
* 預設日期格式
*/
private static final String DEFAULT_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";//Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]

/**
* 預設建構函式
*/
private DateUtil() {
}

/**
* 字串轉換成日期 如果轉換格式為空,則利用預設格式進行轉換操作
* @param str 字串
* @param format 日期格式
* @return 日期
* @throws java.text.ParseException
*/
public static Date str2Date(String str, String format){
if (null == str || "".equals(str)) {
return null;
}
// 如果沒有指定字串轉換的格式,則用預設格式進行轉換
if (null == format || "".equals(format)) {
format = DEFAULT_FORMAT;
}
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date date = null;
try {
date = sdf.parse(str);
return date;
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}

/** 日期轉換為字串
* @param date 日期
* @param format 日期格式
* @return 字串
*/
public static String date2Str(Date date, String format) {
if (null == date) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}

/**
* 時間戳轉換為字串
* @param time
* @return
*/
public static String timestamp2Str(Timestamp time) {
Date date = null;
if(null != time){
date = new Date(time.getTime());
}
return date2Str(date, DEFAULT_FORMAT);
}

/** 字串轉換時間戳
* @param str
* @return
*/
public static Timestamp str2Timestamp(String str) {
Date date = str2Date(str, DEFAULT_FORMAT);
return new Timestamp(date.getTime());
}

public static void main(String[] args) throws Exception {
String tm = "2011-01-01 10:00:00.123";
Timestamp tstamp = str2Timestamp(tm);
System.out.println(tstamp);
System.out.println(timestamp2Str(null));
}
}