完整的程式如下:
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 物件來寫入
 
 
感謝!
回覆刪除