Oracle データベースの開始日と終了日から 2 つのタイムスタンプを取得しています。彼らはこの形式で来ますyyyy-MM-dd HH:mm:ss.SSS
今、テキスト ファイルから比較のために別のタイムスタンプを取得しています。文字列形式です。以下は、必要な情報を抽出するために作成したコードです。
DateFormat f = new SimpleDateFormat("EEE MMM dd HH:mm:ss zz yyyy");
Date date = f.parse("Tue Aug 23 20:00:03 PDT 2011");
System.out.println("---date----" + f.format(date));
String originalDate = f.format(date);
System.out.println("---originalDate----" + originalDate);
DateFormat f2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String dateParse = f2.format(date);
System.out.println("---dateParse----"+dateParse);
私が得ている出力は少し奇妙で、非常に一貫性がありません。以下はサンプルです ---date----Tue Aug 23 20:00:03 PDT 2011 ---originalDate----Tue Aug 23 20:00:03 PDT 2011 ---dateParse----2011-08 -24 08:30:03.000
上記の出力では、比較のために必要な ----dateparse--- 値に関心があります。理想的なケースで値が変化していることがわかれば、両方とも同じ値になるはずです。
ここでの問題は、出力がタイムゾーンによって異なる場合、データベースからフェッチされたデータからコードを比較するにはどうすればよいですか?
--dateparse-- が db から取得した日付範囲の間にあるかどうかを確認するだけです。このコードはタイムゾーンに関係なく適切に機能しますか、それともここに問題があります。日付が異なる場合、比較がうまくいかないか、上記の2つの出力で正しい方法ですか。
この問題を解決する方法を教えてください。