1

私の Android アプリケーションは、数か月前から正常に動作していました。

私はこのように解析を使用しました:

String xmlString = Utilities.Unmarshall(appFramework.ordine);

ordineクラスのインスタンスですServizi:

@Root(name = "Ordine")
public class Servizi {

@Element(name = "data_richiesta")
    public Calendar DataRichiesta;

//other elements

public Servizi() {
        DataDesideratoDa = Calendar.getInstance();
    }
}

図書館を利用しましたorg.simpleframework.xml.core.Persister;

数ヶ月前、これは次のようなものを生み出しました:

<data_richiesta class="java.util.GregorianCalendar">2012-11-16 17:55:10.216 GMT+01:00</data_richiesta>

現在、次のものが生成されます。

<data_richiesta class="java.util.GregorianCalendar">2013-06-26 16:26:02.0 CEST</data_richiesta>

私は自分のアプリケーションで何も変更していませんが、CEST数か月前にフォーマットを取得していたのに対し、今では常にフォーマットを取得していGMTます。

4

1 に答える 1

1

Calendar.getInstance()

http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html#getInstance()

デフォルトのタイム ゾーンとロケールを使用してカレンダーを取得します。返される Calendar は、デフォルト ロケールのデフォルト タイム ゾーンの現在の時刻に基づいています。

今は夏なので、お使いのデバイスのタイム ゾーンが変更されました。毎年、多くの国で年に 2 回タイム ゾーンが実際に変更されます: https://en.wikipedia.org/wiki/Daylight_ Saving_time

おそらくコードでタイムゾーンを指定し、変更されない UTC を使用する必要があります。

Calendar.getInstance(TimeZone.getTimeZone("UTC"));
于 2013-06-26T15:19:52.833 に答える