簡體   English   中英

將24小時格式轉換為MySQL DATETIME格式

[英]Convert 24 hour format to MySQL DATETIME format

我正在嘗試將24小時制時間轉換為datetime格式,以便將其存儲為Mysql作為Datetime。 我嘗試了谷歌,但所有結果都以其他方式出現。 例如,如何將21:30轉換為日期時間格式?

您可以使用java.util.Date定義所需的時間,並使用java.sql.Date的構造函數,並在參數中使用函數.getTime(),如下所示:

java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

java.sql.Date僅使用日,月和年,如果需要小時,分鍾和秒,則使用第二個變量,其類型為java.sql.Time:

java.util.Date utilDate = new java.util.Date();
java.sql.Time sqlDate = new java.sql.Time(utilDate.getTime());

MySQL DATETIME列存儲日期和時間,而不僅僅是時間,並且您永遠不會格式化為字符串以發送到數據庫。 使用PreparedStatement防止SQL注入攻擊。

范例1:

Date now = new Date();

String sql = "INSERT INTO MyTable ( MyDateTime ) VALUES ( ? )";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
    stmt.setTimestamp(1, new Timestamp(now.getTime()));
    stmt.executeUpdate();
}

范例2:

String dateText = "11/8/2015 1:35 PM";
Date dateTime = new SimpleDateFormat("M/d/yyyy h:mm a").parse(dateText);

String sql = "UPDATE MyTable SET MyDateTime = ? WHERE MyId = ?";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
    stmt.setTimestamp(1, new Timestamp(dateTime.getTime()));
    stmt.setInt(2, 1234);
    stmt.executeUpdate();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM