2013-03-18 27 views
19

Geçerli alanın hangi tarih ve saatte kaydedileceği, alanlardan birinin tarih için geçerli olduğu bir SQLite tablosu oluşturmak istiyorum. Hangi veri tipini kullanmalıyım?SQLite veritabanına geçerli tarih ve saat ekleme

'timestamp' kullanmayı planlıyorum. Geçerli zaman damgası değeri alana nasıl eklenir? Ayrıca bu tarih alanı için içerik değerleri nasıl yazılır?

cevap

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

Daha fazla bilgi için bu site kullanın.

INSERT INTO Date (LastModifiedTime) VALUES(CURRENT_TIMESTAMP) 

SQLite'ta varsayılan data type for dates/timesTEXT geçerli:

+0

bu akım zaman damgası değeri eklemek edilir? –

+0

evet, DateTime ('şimdi') geçerli zaman damgasını döndürür – Premsuraj

37

SQLite CURRENT_DATE, CURRENT_TIME ve CURRENT_TIMESTAMP standart bir SQL değişkenlerini destekler.

ContentValues jenerik SQL ifadeleri, sadece sabit değerleri kullanmak izin vermez, bu nedenle Java geçerli zamanı okumak zorunda: Ben damgalarını benim app çok kullanıyorum

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

Son satırdaki kurucu Tarihi() çözemiyorum –

+1

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

+0

Bunu çözdüm. Java.Stl.Date değil, Java.Utils idi. Teşekkürler! Gönderiniz yardımcı oldu: D –

0

. Benim için zaman damgasını tutmanın en iyi yolu bunu milisaniyede dönüştürmektir. Bundan sonra herhangi bir yerel ayarlara dönüştürmek kolaydır.

Geçerli zamana ihtiyacınız varsa, System.currentTimeMillis() öğesini kullanın. İçerik değerler kullanımı kolaydır, sadece ve benzeri saha ve değer,:

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