繁体   English   中英

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

[英]Convert String to date and compare

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

我该怎么做? 到目前为止,我尝试过的所有操作都给我一个java.util.Date cannot be cast to java.sql.Date错误, java.util.Date cannot be cast to java.sql.Date ,这是在尝试以下示例。

SimpleDateFormat的,给人的Java琅ClassCastException异常-java的UTIL最新

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

谢谢

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

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

或者,您可以将java.sql.Date转换为java.util.Calendar或Joda库的DateTime并执行比较。

如果您正在查看解析日期,那么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");

这仅表示您在java.sql.Date中分配java.util.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"");

如Vikdor所示转换为Date 然后获取long timestamp = date.getTimestamp();

现在,这个长值是自1970年utc以来的millisecons。 只需按此值进行比较即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM