5

イベントの日時を保存する必要があるという点で、アプリケーションを開発しました。デフォルトでは、時刻と日付は「アメリカ/シカゴ」のタイムゾーン形式です。ここで、それらをユーザーのデバイスのタイム ゾーン形式に変換する必要があります。しかし、私は間違った形式を持っています。

私は次のことをしました。

SimpleDateFormat curFormater1=new SimpleDateFormat("MM-dd-yyyy-hh:mm a");//10-23-2012-08:30 am

curFormater1.setTimeZone(TimeZone.getTimeZone("America/Chicago")); 

curFormater1.setTimeZone(TimeZone.getDefault());

現在の出力: TimeZone.getTimeZone("America/Chicago") is 10-22-2012-10:00 PM TimeZone.getDefault() is 10-23-2012-08:30 AM

必要な出力 TimeZone.getTimeZone("America/Chicago") is 10-23-2012-08:30 AM TimeZone.getDefault() is 10-23-2012-07:00 PM

4

2 に答える 2

2

いくつかの例

タイムゾーン間の時間を変換する

タイムゾーン間の時間の変換

      import java.util.Calendar;
       import java.util.GregorianCalendar;
       import java.util.TimeZone;

  public class TimeZoneExample {
      public static void main(String[] args) {

    // Create a calendar object and set it time based on the local
    // time zone

    Calendar localTime = Calendar.getInstance();
    localTime.set(Calendar.HOUR, 17);
    localTime.set(Calendar.MINUTE, 15);
    localTime.set(Calendar.SECOND, 20);

    int hour = localTime.get(Calendar.HOUR);
    int minute = localTime.get(Calendar.MINUTE);
    int second = localTime.get(Calendar.SECOND);


    // Print the local time

    System.out.printf("Local time  : %02d:%02d:%02d\n", hour, minute, second);


    // Create a calendar object for representing a Germany time zone. Then we
    // wet the time of the calendar with the value of the local time

    Calendar germanyTime = new GregorianCalendar(TimeZone.getTimeZone("Germany"));
    germanyTime.setTimeInMillis(localTime.getTimeInMillis());
    hour = germanyTime.get(Calendar.HOUR);
    minute = germanyTime.get(Calendar.MINUTE);
    second = germanyTime.get(Calendar.SECOND);


    // Print the local time in Germany time zone

    System.out.printf("Germany time: %02d:%02d:%02d\n", hour, minute, second);
}
}
于 2012-12-12T12:32:37.493 に答える