2013-06-26 4 views
1

Приложение для Android отработало отлично с нескольких месяцев назад.Формат календаря внезапно и автономно изменен в 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.

ответ

1

Calendar.getInstance()

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

Получает календарь, используя часовой пояс и локаль по умолчанию. Возвращенный календарь основан на текущем времени в часовом поясе по умолчанию с локалью по умолчанию.

Что случилось, мы сейчас летом, поэтому часовой пояс вашего устройства изменился. Каждый год, два раза в год во многих странах часовой пояс на самом деле изменения: https://en.wikipedia.org/wiki/Daylight_saving_time

Вы, вероятно, следует указать часовой пояс в вашем коде, и, вероятно, использовать UTC, который не меняется:

Calendar.getInstance(TimeZone.getTimeZone("UTC")); 
+0

Спасибо @ Кен, но это не решает мою проблему: я получаю ту же дату выхода. – GVillani82

+0

Пожалуйста, покажите, где вы создаете выход. Если вы зарегистрируете экземпляр календаря, вы увидите, что это UTC ... –

+0

На самом деле, может быть, это что-то в «Персисте» - я не знаком с ним - надеюсь, кто-то еще может помочь! –

 Смежные вопросы

  • Нет связанных вопросов^_^