如何将字符串转换为“日期时间”友好格式?

时间:2011-11-10 02:03:07

标签: java mysql date time timestamp

我基本上尝试将类似于此字符串的字符串:“2011-11-9 18:24:12.3”转换为我可以插入到数据库表中的格式,声称此特定列为“datetime”类型。我想我可以按照preparedStatement.setTimestamp(...)的方式做一些事情,但我似乎无法正确创建时间戳。任何人都可以建议最简单的方法将像上面的字符串转换为时间戳或其他类型的兼容MySQL的“日期时间”类型?任何帮助将不胜感激。

到目前为止,我尝试过这样的事情:

String strDateTime = "2011-11-9 18:24:12.3";
Timestamp timeStamp = new Timestamp((new Date(strDateTime)).getTime());
preparedStatement.setTimestamp(1, timeStamp);

2 个答案:

答案 0 :(得分:2)

啊,所以,问题很可能不是mysql的日期时间,而是日期。

Date(Strings s)构造函数为currently deprecated,建议使用SimpleDateFormat,以便您使用任何所需的格式。

答案 1 :(得分:0)

您是否尝试过分割并将其制作成可以使用的格式?这假设它始终采用相同的格式。创建一个新字符串,该字符串拆分旧字符串的拆分并以有用的方式重新排列。如果这是最终用户提供的字符串,您可能必须先验证它并检查以确保它可用。