-2

mySQLからYEAR-MONTH-DAYex(2013-02-01)の形式で日付を取得します。ResultSetを使用して日付を取得し、それを今日の日付と比較して、それが1年前かどうかを確認するにはどうすればよいですか。

4

1 に答える 1

1

ResultSetには、Dateオブジェクトを返すgetDate()メソッドがあります。その後、精度やうるう年などをあまり気にしない場合は、それらを比較する簡単な方法を次に示します。

Date fromDatabase = ...;
Date now = new Date();
long daysBetween = TimeUnit.DAYS.convert(now.getTime() - fromDatabase.getTime(), TimeUnit.MILLISECONDS);
if (daysBetween > 365) { ... }

日付がデータベースに日付としてではなく文字列値として格納されることを意味する場合は、のように解析できますnew SimpleDateFormat("yyyy-MM-dd").parse("2013-02-01")

データベースで日付を処理するときは、タイムゾーンに注意してください。物事をまっすぐに保つのは難しいかもしれません。

于 2013-02-17T00:04:50.093 に答える