ここに投稿する前に、この質問をグーグルで検索しました。私の質問に固有の解決策が見つからなかったので、ここに行きます。正しくない場合は、ご容赦ください。
Java、JSP、Tomcat、および Oracle 9i/10g を使用しています。
現地時間のデータが保存された既存のデータベースがあります。たとえば、テーブルが「予定」の場合、すべての予定日、作成日、および変更日 - データは「日付 dt = new java.util.Date();」で DB に格納されます。および SQL ステートメント「INSERT into Appointment (Scheduled Date、Created Date、Changed Date) の値 (?,?,?)」
Date dt = new java.util.Date();
...
String query ="INSERT into Appointment (Scheduled Date, Created Date, Changed Date) values (?,?,?)";
...
pstmt.setDate(1, users_browser_selected_date);
pstmt.setDate(2, dt);
pstmt.setDate(3, dt);
......
コードは説明のみを目的として提供されています。コード/論理エラーは無視してください...
この時点で、上記のコードを使用してデータが既に保存されています。現地時間を保存することを意味します。また、この時点でデータを変更することはできません。(ベスト プラクティスは、UTC 形式を使用してデータを保存することです。しかし、この時点でその変更を行うのは遅いです。)
現在、ユーザーは任意のタイム ゾーンで Web アプリケーションを使用できます。ユーザーがブラウザから時間に基づいてデータの検索操作を行う場合、データは正確で一貫している必要があります。
DBに触れずにこれを達成できる方法はありますか? ブラウザの検索フォームに日付を表示するには、どのような変更を加えることができますか? DBに対してJavaコードで検索クエリを実行すると、どのような変更を加えることができますか?
いくつかの手順を提供していただけると助かります。
どうもありがとう。