将String转换为日期并进行比较

时间:2013-01-22 12:23:49

标签: java

我从数据库中提取的一个字段是字符串格式的日期,我需要将其转换为日期类型以与另一个日期进行比较。

我该怎么做?到目前为止我尝试的所有内容都给出了java.util.Date cannot be cast to java.sql.Date的错误,这是在尝试以下示例;

simpledateformat-gives-java-lang-classcastexception-java-util-date

以字符串格式提取的日期示例为“2012-10-15 09:00:29.157”。我认为声明的格式是 yyyy-MM-dd HH:mm:ss.SSS 但不确定。

由于

3 个答案:

答案 0 :(得分:5)

您可以从java.util.Date创建java.sql.Date,如下所示:

java.util.Date date = new java.util.Date(resultSet.getDate("Column").getTime());

或者,您可以将java.sql.Date转换为java.util.Calendar或Joda图书馆的日期时间并进行比较。

如果您正在查看解析日期,那么java.text.SimpleDateFormat就是您的朋友。

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
java.util.Date date = format.parse("2012-10-15 09:00:29.157");

答案 1 :(得分:0)

这仅表示您在java.util.Date

中分配java.sql.Date

从您的示例中,您必须执行以下操作:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
java.util.Date date = (java.util.Date)formatter.parse(""2012-10-15 09:00:29.157"");

答案 2 :(得分:0)

转换为Date,正如Vikdor所示。然后得到long timestamp = date.getTimestamp();

现在这个长期值是自1970年以来的毫秒数。只需按此值进行比较。