Autore Topic: Prelevare ora dal database  (Letto 1054 volte)

Offline mary2501

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire hd
  • Sistema operativo:
    mac , windows xp
Prelevare ora dal database
« il: 16 Agosto 2012, 13:08:32 CEST »
0
Ciao..
Ho salvato un dato di tipo time nel mio database..
Codice (Java): [Seleziona]
...
+ ProductsMetaData.ORA1 + " time, "
...
Adesso voglio prendere i dati di tipo time salvati nel database e confrontarli...

Come si possono prelevare??
Non esiste un cursor.getTime ???

Grazie a tutti

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Prelevare ora dal database
« Risposta #1 il: 16 Agosto 2012, 15:38:28 CEST »
0
Basta leggere la documentazione di SQLite:

http://www.sqlite.org/datatype3.html#datetime

per sapere che non ha il tipo "time".

Di solito si usa un intero per contiene la "Unix Time", Android ha la classe "Timestamp" per aiutare a gestirla:

Timestamp | Android Developers
adb logcat | tee /tmp/logcat | grep TAG

Offline mary2501

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire hd
  • Sistema operativo:
    mac , windows xp
Re:Prelevare ora dal database
« Risposta #2 il: 16 Agosto 2012, 17:07:16 CEST »
0
e dal database come lo estraggo ?

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
R: Prelevare ora dal database
« Risposta #3 il: 16 Agosto 2012, 17:57:11 CEST »
0
Salvi un intero e leggi un intero.

Inviato dal mio LG-P990 con Tapatalk 2
adb logcat | tee /tmp/logcat | grep TAG

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: Prelevare ora dal database
« Risposta #4 il: 17 Agosto 2012, 01:49:34 CEST »
0
La unix timestamp in millisecondi puoi anche salvarla come 'long' nel db

Inviato dal mio GT-I9100 con Tapatalk 2

Offline mary2501

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire hd
  • Sistema operativo:
    mac , windows xp
Re:Prelevare ora dal database
« Risposta #5 il: 17 Agosto 2012, 10:54:49 CEST »
0
Alla fine ho preferito fare così..
Ho salvato l ora nel database come un intero.. Es. 17:56 è diventato 1756..
Per calcolare la distanza tra due ore invece ho utilizzato questa funzione
Codice (Java): [Seleziona]
public void calcolo_durata (int ora1, int ora2){

                int durata = ora1-ora2;
               
                durata_minuti = durata %100;
                durata_ore = (durata-durata_minuti) /100;
        //durata_minuti e durata_ore sono due variabili globali di tipo int    
        }

Offline Melanogaster

  • Utente normale
  • ***
  • Post: 260
  • Respect: +11
    • Mostra profilo
  • Dispositivo Android:
    SII
  • Sistema operativo:
    Kubuntu
R: Prelevare ora dal database
« Risposta #6 il: 17 Agosto 2012, 22:51:59 CEST »
0
E se la durata é più di 24 ore?
Comunque secondo me ti sei complicato la vita...bastava salvare il risultato di System.currentTimeInMillis() in un campo long nel db, fare la differenza e ricavare con DateFormat l'orario e i giorni di differenza...

Inviato dal mio GT-I9100 con Tapatalk 2