Autore Topic: Problema formattazione date  (Letto 295 volte)

Offline Frasso182

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 8.1
Problema formattazione date
« il: 02 Settembre 2015, 17:52:23 CEST »
0
Buongiorno, ho un problema legato alla formattazione delle date.
Questo è il formato che mi arriva in input:" Wed Sep 02 14:52:46 CEST 2015".

Per formattare la data usavo questo metodo:

Codice (Java): [Seleziona]
public static String getDateFormatCorrect(String strData) throws ParseException {
        SimpleDateFormat myFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
        try {
            Date dNew = myFormat.parse(strData);
            SimpleDateFormat myFormat2 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
            String dataFinal = myFormat2.format(dNew);
            return dataFinal;
        } catch (ParseException e) {
            e.printStackTrace();
            return strData;
        }
    }

Sui device con istallato Lollipop mi restituisce null, mentre sui device con sistema operativo precedente continua a funzionare.
Il problema dovrebbe essere legato alla presenza di CEST o di CET ma non sono riuscito a risolverlo.

Avete qualche idea?

Grazie
Ciao

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema formattazione date
« Risposta #1 il: 02 Settembre 2015, 18:59:43 CEST »
0
Qua pare abbiamo lo stesso tuo identico problema: date - SimpleDateFormat.parse not working since lolipop 5.0 android update - Stack Overflow

E nelle risposte dicono che CEST non era propriamente corretto, lo standard è "GMT+02:00".

Potresti bovinamente fare un "replace" di CEST con GMT+02:00 prima di proseguire con il codice esistente.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Frasso182

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 8.1
Re:Problema formattazione date
« Risposta #2 il: 03 Settembre 2015, 09:35:13 CEST »
0
Ciao grazie dell'aiuto.
Ora lo risolvo in questo modo:

Codice (Java): [Seleziona]
 public static String getDateFormatCorrectFromDB(String strData) throws ParseException {

        strData = strData.replace("CEST", "GMT+02:00");
        strData = strData.replace("CET", "GMT+01:00");

        SimpleDateFormat myFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.UK);

        try {
            Date dNew = myFormat.parse(strData);
            SimpleDateFormat myFormat2 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
            String dataFinal = myFormat2.format(dNew);
            return dataFinal;
        } catch (ParseException e) {
            e.printStackTrace();
            return strData;
        }
    }

Non da più problemi su Lollipop e anche sui device con sistema operativo precedente funziona.

Grazie
Ciao