1

次のコードを使用して、日付をデータベースに保存しています。

String mydate = java.text.DateFormat.getDateTimeInstance().format(
                Calendar.getInstance().getTime());

これはデータベース内の文字列です。複数のリストがあり、その日に基づいて行われた変更をユーザーに表示したい。

sqlserver には実際の日付変数があり、その上で BETWEEN を実行できます。現在使用しているデータ型でこれを実装する方法がわかりません。

日付を保存するより良い方法があるかもしれませんが、これが私が成功した唯一の方法でした.

4

2 に答える 2

2

これはデータベース内の文字列です。複数のリストがあり、その日に基づいて行われた変更をユーザーに表示したい。

カスタムDateパターンを定義して改善できる実際のコード。たとえばSimpleDateFormat、それを達成するために使用して、定義したパターンで日付を文字列として保存できます。

複数のリストがあり、その日に基づいて行われた変更をユーザーに表示したい。

だから私の頭に浮かんだ最初のアイデアは、日付を保存している形式を正確に知っているときです。substr()関数を使用して、たとえば全体から1日だけを取得し、日Dateだけを比較できます。同等のものは、月などのみを比較します。


正しいパターンを指定した場合のテストでは、SimpleDateFormat次を使用できます。

于 2013-04-28T17:26:08.040 に答える
1

日付を文字列として保存する場合は、YYYY-MM-DD HH:nn:ss などの「比較可能な」形式、またはより短い YYYYMMDDHHnnSS を指定する必要があります。ただし、日付を整数エポック (1970 年からの秒数) として保存する方がはるかに良い場合があります。これは、列にインデックスを作成し、それに対して比較クエリを実行している場合に特に当てはまります。

于 2013-04-28T17:22:12.080 に答える