Java時間和MySQL時間是不同的,Java時間通常使用自1970年1月1日00:00:00 UTC起始的毫秒數表示。而MySQL時間則使用YEAR-MONTH-DAY HOUR:MINUTE:SECOND格式表示。
為了將Java時間轉換為MySQL時間,我們可以使用Java的DateTimeFormatter類來格式化Java時間,然后將其插入到MySQL數據庫中。以下是一個Java的時間轉換為MySQL時間的示例:
import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.sql.*; public class TimeConversionExample { public static void main(String[] args) { //獲取當前時間 ZonedDateTime now = ZonedDateTime.now(); //轉換為MySQL時間格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String mysqlDateTime = now.format(formatter); //插入MySQL數據庫中 Connection conn = null; PreparedStatement stmt = null; try { //連接數據庫 conn = DriverManager.getConnection(JDBC_URL, USER, PASS); //插入語句 String sql = "INSERT INTO my_table (datetime_column) VALUES (?)"; stmt = conn.prepareStatement(sql); stmt.setString(1, mysqlDateTime); stmt.executeUpdate(); } catch (SQLException e) { //處理異常 e.printStackTrace(); } finally { //關閉連接和語句 try { if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
在上面的代碼中,我們首先獲取當前時間,然后使用DateTimeFormatter類將其格式化為MySQL時間。接下來,我們將MySQL時間字符串插入到MySQL數據庫中。
值得注意的是,我們需要確保數據庫的時區設置與操作系統的時區設置相同。否則,轉換后的時間會有誤差。