0

データベースから抽出するフィールドの 1 つは、文字列形式の日付であり、別の日付と比較するために日付型に変換する必要があります。

どうすればいいですか?これまでに試したことはすべてエラーに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だと思いますが、よくわかりません。

ありがとう

4

3 に答える 3

6

次のようにjava.util.Datefromを作成できます。java.sql.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");
于 2013-01-22T12:27:57.440 に答える
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"");
于 2013-01-22T12:29:02.383 に答える
0

DateVikdorが示したように変換します。次に、long timestamp = date.getTimestamp();

現在、この long 値は 1970 utc からのミリ秒です。この値で比較するだけです。

于 2013-01-22T12:32:51.260 に答える