完整的程式如下:
import java.util.Date;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
public void DateWriteInDB(){
Connection conn = null;
String sql ;
PreparedStatement pstmt ;
ResultSet rs;
try {
java.util.Date now = new java.util.Date(); //取得現在時間
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sf.setTimeZone(TimeZone.getTimeZone("GMT")); // 設定時區為格林威治 GMT 時區
String sGMT = sf.format(now);
java.sql.Timestamp createDate = Timestamp.valueOf(sGMT); // 要轉換成 java.sql.Date 的物件才可以寫入資料庫
sql = "INSERT INTO mydate (id, create_date) VALUES (?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "01");
pstmt.setTimestamp(2, createDate);
pstmt.execute();
} catch (Exception e) {
System.err.println(e);
} finally {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
PS: 日期型態要寫入資料庫, 需要用 java.sql.PreparedStatement 物件來寫入
感謝!
回覆刪除