Autore Topic: Time in variabile tipo stringa da incrementare e ritornare in stringa  (Letto 1184 volte)

Offline uelfox

  • Nuovo arrivato
  • *
  • Post: 38
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Tablet mediacom 8" MP842M
  • Sistema operativo:
    Win 7
Sto impazzendo!!! Possibile che non trovi da nessuna parte, un esempio di come fare questa conversione!!
Sicuramente sarò io, ma ecco cosa vorrei ottenere:
- ho una variabile di testo, che contiene un'orario (08:34)
- devo incrementare tale orario di 'x' minuti
- devo trasformare tale nuovo orario, in una nuova stringa

Qualcuno mi aiuta?

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Time in variabile tipo stringa da incrementare e ritornare in stringa
« Risposta #1 il: 16 Marzo 2015, 10:21:47 CET »
0
In java ci sono diversi modi... io uso SimpleDateFormat.

Ti ho scritto 2 righe di esempio, non le ho provate.

Codice (Java): [Seleziona]
                        long nMin = 10;
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
                        Date dateTime = sdf.parse(timeStr);
                        long time = dateTime.getTime();
                        long laterTime = time + nMin * 60 * 1000;
                        Date laterDateTime = new Date( laterTime );
                        String latertimeStr = sdf.format(laterDateTime);

Ovviamente il pattern passato a SimpleDateFormat deve essere adattato alle tue esigenze. Controlla la documentazione.

Ciao.

Offline LinkOut

  • Utente normale
  • ***
  • Post: 269
  • Respect: +37
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Time in variabile tipo stringa da incrementare e ritornare in stringa
« Risposta #2 il: 16 Marzo 2015, 12:25:03 CET »
0
Fossi in te farei così:

1. Trasformerei l'ora in UNIX time Unix Time Stamp - Epoch Converter. Avrei quindi l'ora e la data scritta in long.(millisecondi)
2. Trasformerei in millisecondi i minuti che devo aggiungere all'ora.
3. Aggiungo i minuti all'ora (sempre long e sempre millisecondi)
4. Ritrasformerei l'UNIX time in orario locale (Quindi avrei l'ora e la data + l'aggiunta dei minuti di cui avevo bisogno).

Saluti.

Offline uelfox

  • Nuovo arrivato
  • *
  • Post: 38
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Tablet mediacom 8" MP842M
  • Sistema operativo:
    Win 7
Re:Time in variabile tipo stringa da incrementare e ritornare in stringa
« Risposta #3 il: 16 Marzo 2015, 17:55:40 CET »
0

Codice (Java): [Seleziona]
                        long nMin = 1;
                        SimpleDateFormat sdf = new SimpleDateFormat[b]("HH:mm");[/b]
                        Date dateTime = sdf.parse(timeStr);
                        long time = dateTime.getTime();
                        long laterTime = time + nMin * 60 * 1000;
                        Date laterDateTime = new Date( laterTime );
                        String latertimeStr = sdf.format(laterDateTime);
Ho apportato una piccola modifica per quello che mi serve e ti confermo che fa al caso mio!!!

Grazie