私はJavaで書かれたジョブを持っており、そのタイムゾーンで毎日指定された時間に実行されます。たとえば、私が初めて0800時間にジョブを開始した場合、それは常に毎日同じ時間にジョブを実行する必要があります。タイムゾーンがDSTに準拠していない場合、これは正常に機能します。ただし、DSTに従うと壊れます。
たとえば、0800 PSTで初めてジョブを開始した場合、DSTが有効でない限り、常にUTCで0000時間で実行する必要がありますが、DSTが有効な場合は、前日の2300時間UTCに移動する必要があります。これらのDSTの変更に合わせて、プログラムでジョブの開始時間を調整するにはどうすればよいですか。
私の入力は次のようになります。
String startdate = "2012-06-16T08:00:00"
String timeZone = "PST";
これらは設定ファイルにある定数であり、一度設定すると変更できません。DSTが有効であるかどうかに関係なく、入力はPSTになります。
したがって、現在のタイムゾーンがPSTの場合は、UTC 2012-06-16の0000時間に実行されます。そうでない場合は、UTC2012-06-15の2300時間に実行されます。
どうすればこれを達成できますか。
注:これは宿題の質問ではありません。私はDSTに準拠していない地域から来ているので、少し混乱します。
前もって感謝します。