1) したがって、秒単位で指定された日付と時刻があり、タイムゾーンのオフセットも秒単位です。
eventTime = 1348880602
eventTimezoneOffset = -180
2)私はこれを次のように印刷しています:
Date date = new Date(eventTime);
SimpleDateFormat sdf = new SimpleDateFormat("E, MMM dd, yyyy @ h:mmaa");
System.out.println(sdf.format(date));
2012 年 9 月 28 日 (金) 午後 10 時 3 分
3)ただし、これは自分のマシンで実行する場合です。
私のサーバーで実行すると、次のようになります: 金, 9月 28, 2012 @ 9:03PM
サーバーとマシンの時差のため。
4) そのため、アプリケーションを実行しているサーバーの場所に関係なく、eventTimezoneOffset を使用して Date または SimpleDateFormat オブジェクトを正しいタイムゾーン時間で表すように設定しようとしていました。
5) SimpleDateFormat でタイムゾーンを設定しようとしましたが、秒単位で eventTimezoneOffset を使用してそれを行う方法がわかりませんでした。
6) 明確にするために、イベントは世界中で発生する可能性があります。各イベントはエポックからの秒数で追跡されます。そのため、eventTime だけを見ると、アプリケーションが実行されているタイムゾーンに関係なく表示されます。場所のタイムゾーンを考慮して、イベントの正確な時刻を取得するには、timezoneOffet が提供されます。timezoneOffset を適用する方法がわかりません。