2013-03-18 18 views
19

Desidero creare una tabella in SQLite in cui uno dei campi è per data, in cui devono essere salvate la data e l'ora dell'istanza corrente. Quale tipo di dati dovrei usare?Inserimento della data e dell'ora correnti nel database SQLite

Ho intenzione di utilizzare "timestamp". Come inserire il valore di timestamp corrente sul campo? Anche come scrivere valori di contenuto per questo campo data?

risposta

19
INSERT INTO Date (LastModifiedTime) VALUES(DateTime('now')) 

Utilizzare questo site per ulteriore riferimento.

+0

Questo è l'inserimento valore timestamp corrente? –

+0

sì, DateTime ('now') restituisce il timestamp corrente – Premsuraj

37

SQLite supporta le variabili SQL standard CURRENT_DATE, CURRENT_TIME, e CURRENT_TIMESTAMP:

INSERT INTO Date (LastModifiedTime) VALUES(CURRENT_TIMESTAMP) 

L'impostazione predefinita data type for dates/times in SQLite è TEXT.

ContentValues non consentono di utilizzare espressioni SQL generici, solo valori fissi, in modo da avere a leggere l'ora corrente in Java:

cv.put("LastModifiedTime", 
     new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); 
+0

Non riesco a risolvere il costruttore Date() nell'ultima riga –

+1

@KalaJ [Date()] (http://developer.android.com/reference/java /util/Date.html#Date%28%29) esiste. –

+0

Capito. Era Java.Utils e non Java.Sql.Date. Grazie! Il tuo post ha aiutato: D –

0

sto usando timestamp molto nella mia app. Per me il modo migliore per mantenere il timestamp è convertirlo in millisecondi. Dopodiché è facile convertirlo in qualsiasi locale.

Se è necessaria l'ora corrente, utilizzare System.currentTimeMillis(). valori contenuti sono facili da usare, basta e di campo e il valore, come:

ContentValues ins_reminder = new ContentValues(); 
ins_reminder.put("REMIND_TIMESTAMP", System.currentTimeMillis()); 
Problemi correlati