从字符串转换为TimeStamp数据类型

我想将此转换:17:26:54转换为TimeStamp数据类型。 我需要将它输入数据库。 我该怎么做呢? 我有一个字符串变量中的数据我正在使用java。 我从另一个源中提取这些数据,我需要将其推送到数据库,其中时间戳的列被定义为TimeStamp类型。 我正在使用JDBC将数据从java程序推送到MySQL。 所以我需要一个解决方案将字符串:17:26:54转换为timeStamp数据类型,以便可以将其输入数据库而不会抛出sqlexception错误。

编辑:我不需要timeStamp的日期部分,因为我不会在我的计算中的任何地方使用它,也不能从生成时间信息的源中提取它。

使用PreparedStatement#setTime()或PreparedStatement #setTimestamp()来插入java.sql.Timejava.sql.Timestamp

要将String转换为Date或Timestamp,请使用SimpleDateFormat

示例代码:

  String time="12/07/2014 17:26:54"; SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date date=format.parse(time); 

如果您尝试下面的示例代码,则默认日期将是1970年1月1日

  String time="17:26:54"; SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss"); Date date=format.parse(time); 

如何将Java日期转换为SQL日期?

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

如何将其插入数据库时​​间戳数据类型?

示例代码:

 String time="17:26:54"; SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss"); Date date=format.parse(time); ... PreparedStatement stmt = conn .prepareStatement("insert into test(message,time) values(?,?)"); stmt.setString(1, "This is message"); stmt.setTimestamp(2, new java.sql.Timestamp(date.getTime())); stmt.executeUpdate(); 

查找完整的示例代码

考虑使用DateFormat类将字符串转换为java.util.Date实例。

java.sql.Timestamp可以用长日期表示构造,可以通过getTime()方法从java.util.Date类实例获取。

根据你的意见

对我来说无关紧要,因为我不需要约会

使它成为TIME类型的列。 然后按照JDBC指南入门 ,

SQL时间信息的java.sql.Time。 java.util.Date基类的年,月和日字段设置为1970,1月和1。这是Java纪元中的“零”日期。

时间构造函数,

 long millis = (hour * 3600 * 1000) + (minutes * 60 * 1000) + (seconds * 1000); java.sql.Time time = new java.sql.Time(millis);