Je veux créer une table dans SQLite dans laquelle l'un des champs est pour la date, dans laquelle la date et l'heure de l'instance actuelle doivent être enregistrées. Quel type de données dois-je utiliser?
Je prévois d'utiliser "horodatage". Comment insérer la valeur d'horodatage actuelle dans le champ? Aussi comment écrire des valeurs de contenu pour ce champ de date?
SQLite prend en charge les variables SQL standard CURRENT_DATE
, CURRENT_TIME
, et CURRENT_TIMESTAMP
:
INSERT INTO Date (LastModifiedTime) VALUES(CURRENT_TIMESTAMP)
La valeur par défaut type de données pour les dates/heures dans SQLite est TEXT
.
ContentValues
ne permettent pas d'utiliser des expressions SQL génériques, seulement des valeurs fixes, vous devez donc lire l'heure actuelle en Java:
cv.put("LastModifiedTime",
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
INSERT INTO Date (LastModifiedTime) VALUES(DateTime('now'))
Utilisez ceci site pour plus de référence.
Pour obtenir l'heure locale (système) actuelle, ajoutez l'option "heure locale":
sélectionnez datetime ('maintenant', 'heure locale');
J'utilise beaucoup les horodatages dans mon application. Pour moi, la meilleure façon de conserver l'horodatage est de le convertir en millisecondes. Après cela, il est facile de le convertir en n'importe quel lieu.
Si vous avez besoin de l'heure actuelle, utilisez System.currentTimeMillis (). Les valeurs de contenu sont faciles à utiliser, il vous suffit de les champer et de les valoriser, comme:
ContentValues ins_reminder = new ContentValues();
ins_reminder.put("REMIND_TIMESTAMP", System.currentTimeMillis());