2013-07-25 118 views
-1

我有一个字符串值,我需要将其转换为时间并将其保存在MySQL中[列的数据类型是数据库表中的时间] 我可能遇到的转换字符串值的示例进入时间对象是:将纯字符串转换为时间

String time =“5:32 PM”;

String time =“12:00 AM”;

String time =“11:43 PM”;

我浏览了几个例子,它们从Date对象中抽出时间,但找不到合适的例子,例如在这种情况下将其从普通字符串中转换。我需要将它转换为时间的主要原因是将它保存在mysql中。

+2

使用SimpleDateFormat – kosa

回答

3

你可以将其转换为java.sql.Date为:

String str = "5:32 PM"; 
DateFormat formatter = new SimpleDateFormat("hh:mm a"); 
java.util.Date date = (java.util.Date)formatter.parse(str); 
java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 

如果需要java.sql.Time,则:

java.sql.Time time = new java.sql.Time(date.getTime()); 

然后用PreparedStatement#setTime()

+0

'java.sql.Date'不存储时间,您应该使用'java.sql.Time'或'java.sql.Timestamp'。尽管如此,最好的方法是使用普通的'java.util.Date',因为java.sql包中的这三个类都是从它扩展而来的。 –

+0

@LuiggiMendoza请加上回答,那是有价值的评论:) – NINCOMPOOP

+0

优秀!谢谢您的帮助! – Arun

相关问题