如何将字符串转换为时间并将其插入 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中如何将特定形式字符串转换为时间格式。并将该时间进行加减