簡體   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