繁体   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