从字符串转换为TimeStamp数据类型
我想将此转换:17:26:54转换为TimeStamp数据类型。 我需要将它输入数据库。 我该怎么做呢? 我有一个字符串变量中的数据我正在使用java。 我从另一个源中提取这些数据,我需要将其推送到数据库,其中时间戳的列被定义为TimeStamp类型。 我正在使用JDBC将数据从java程序推送到MySQL。 所以我需要一个解决方案将字符串:17:26:54转换为timeStamp数据类型,以便可以将其输入数据库而不会抛出sqlexception错误。
编辑:我不需要timeStamp的日期部分,因为我不会在我的计算中的任何地方使用它,也不能从生成时间信息的源中提取它。
使用PreparedStatement#setTime()或PreparedStatement #setTimestamp()来插入java.sql.Time
或java.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);