2つのサーバーに2つのプログラムがあります。プログラムAは英国のサーバーに、プログラムBは米国のサーバーにあります。Javaでタイムゾーン変換を適用せずに2つの異なるタイムゾーン間でDateオブジェクトを渡す
プログラムAからプログラムBに日付オブジェクトを渡す必要があります。ただし、プログラムBから日付オブジェクトを取得すると、タイムゾーン変換で受信します。このタイムゾーンの変換を適用せずに、あるサーバーから別のサーバーに日付オブジェクトを渡すにはどうすればよいですか。
注:このことは、次のようにCalenderオブジェクトを通じて行うことができます。しかし、私の場合、Dateオブジェクトを使用したいと思います。プログラムBでは
:私はSerializableを実装しておりますので
Date checkInDate = new Date(cal1.get(Calendar.YEAR) - 1900 , cal1.get(Calendar.MONTH) , cal1.get(Calendar.DATE), cal1.get(Calendar.HOUR_OF_DAY), cal1.get(Calendar.MINUTE), cal1.get(Calendar.SECOND));
Date checkOutDate = new Date(cal2.get(Calendar.YEAR) - 1900 , cal2.get(Calendar.MONTH) , cal2.get(Calendar.DATE), cal2.get(Calendar.HOUR_OF_DAY), cal2.get(Calendar.MINUTE), cal2.get(Calendar.SECOND));
java.util.Calendarは日付を表すために使用され、日付の変換にもjava.util.Dateのメソッドのほとんどは廃止されています...なぜカレンダーを使いたくないのですか? – sachinrahulsourav
java.util.Dateは絶対時刻です。タイムゾーンはありません。期待どおりに動作しないコードの例は、サーバー間でオブジェクトを渡すために使用しているメソッドについてのあなたの質問:)情報の理解に非常に役立ちます。 – Affe
どのように日付を渡しますか?ウェブサービス? DBとJDBCを介して?他に何か?答えは各輸送とは異なるかもしれませんが、通常、転送前の「既知の」時間帯(GMT)に変換することは良い解決策です。さらに、なぜあなたはTZ変換を望んでいませんか? – ptyx