如何将字符串转换为时间并将其插入 MySQL

Posted

技术标签:

【中文标题】如何将字符串转换为时间并将其插入 MySQL【英文标题】:How to convert String to Time and insert it MySQL 【发布时间】:2012-04-06 15:25:21 【问题描述】:

我有一个JSP页面,所以用户可以手动插入他/她到达和离开的时间。 我的问题是:如何从输入框(JSP)转换该字符串,然后将其插入到我的 mysql 表中进行查询。 我正在使用 Java - servlet。 谢谢

【问题讨论】:

【参考方案1】:

您可以使用SimpleDateFormat 将给定模式中的String 解析为java.util.Date 对象。

假设是HH:mm,那么你可以这样做:

String time = request.getParameter("time");
Date date = null;

try 
    date = new SimpleDateFormat("HH:mm").parse(time);

catch (ParseException e) 
    request.setAttribute("time_error", "Please enter time in format HH:mm");

拥有java.util.Date 对象后,您可以通过将其转换为java.sql.Time 并使用PreparedStatement#setTime() 将其存储在TIME 列中。

preparedStatement = connection.prepareStatement("INSERT INTO tablename (columname) VALUES (?)");
preparedStatement.setTime(1, new Time(date.getTime()));
preparedStatement.executeUpdate();

【讨论】:

只有一件事。我正在尝试创建日期对象,但收到编译错误。 “对 Date 的引用是模棱两可的,两个类。......匹配。 不要使用java.sql.Date。使用java.util.Date 谢谢,我已经解决了。当我在同一个包 .sql.Date 和 util.Date 中使用时,我必须指定我作为参数传递的数据类型。所以我使用了 (String s, java.uitl.Date clockIn ...)。它解决了这个问题。谢谢 我建议反其道而行之。 java.sql.Date 无论如何都很少使用。您基本上只需要在 PreparedStatement#setDate() 方法中使用它,其他任何地方都不需要。

以上是关于如何将字符串转换为时间并将其插入 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串转换为时间,使其具有时区意识,并在 Python 中转换时区?

SQL Server中如何将特定形式字符串转换为时间格式。并将该时间进行加减

sql server 怎样将字符串转化为时间格式

如何将日期和时间转换为时间戳

Pandas:如何将数据框列中的“时间戳”值从对象/字符串转换为时间戳?

Scala - 如何在 Spark SQL 查询中将日期字符串转换为时间戳?