Dans ma base de données Sqlite, j'ai enregistré la date dans un type de données DATE. Comment puis-je récupérer cette date à partir du curseur?Récupération de la date à partir de la base de données Sqlite dans android
Répondre
SQLite stocke une chaîne représentant l'heure actuelle en UTC (GMT), en utilisant le format de date/heure ISO8601. Ce format (AAAA-MM-JJ HH: MM: SS) est par ailleurs approprié pour les comparaisons de date/heure. Utilisez le code ci-dessous pour récupérer la date.
Cursor row = databaseHelper.query(true, TABLE_NAME, new String[] {
COLUMN_INDEX}, ID_COLUMN_INDEX + "=" + rowId,
null, null, null, null, null);
String dateTime = row.getString(row.getColumnIndexOrThrow(COLUMN_INDEX));
Ce, retourne une chaîne, analyser et reformater votre format local et le fuseau horaire:
DateFormat iso8601Format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
date = iso8601Format.parse(dateTime);
} catch (ParseException e) {
Log.e(TAG, "Parsing ISO8601 datetime failed", e);
}
long when = date.getTime();
int flags = 0;
flags |= android.text.format.DateUtils.FORMAT_SHOW_TIME;
flags |= android.text.format.DateUtils.FORMAT_SHOW_DATE;
flags |= android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
flags |= android.text.format.DateUtils.FORMAT_SHOW_YEAR;
String finalDateTime = android.text.format.DateUtils.formatDateTime(context,
when + TimeZone.getDefault().getOffset(when), flags);
Espérons que cela vous aidera.
ce code fonctionne
String s= cursor.getString(position);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date d=new Date();
try {
d= dateFormat.parse(s);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
YourObject.setDate(d);
code parfait, mais besoin de modifier pour définir pour afficher en fonction de leur exigence.Ex: date à ajouter ** textView **. ** textview.setText (dateformate.formate (d)) ** –
SQLite n'a pas vraiment un type DATE
(le mot-clé DATE
signifie simplement la colonne a une affinité NUMERIC
, par Datatypes In SQLite Version 3), il est donc à vous de choisir une convention pour savoir comment vous allez stocker des dates. Les conventions communes sont (a) utiliser des nombres réels pour stocker des dates juliennes ou (b) utiliser des nombres entiers pour stocker une époque Unix (secondes depuis 1970, que la fonction date et heure de SQLite supporte avec l'argument 'unixepoch' par Date And Time Functions).
Si vous faites les dates de stockage comme époque Unix (pratique pour Android depuis appelant .getTime()
sur un objet Date
retourne le nombre de millisecondes depuis 1970), puis lire le champ SQLite DATE
comme long
et passer l'équivalent milliseconde de cette dans le constructeur java.util.Date
Date(long milliseconds)
. Donc, cela ressemblerait à ceci:
SQLiteManager dbManager = new SQLiteManager(context, DB_NAME, null, VERSION);
SQLiteDatabase db = dbManager.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME,
new String[] { COLUMN_NAME_ID, COLUMN_NAME_DATE },
null, null, // selection, selectionArgs
null, null, null, null); // groupBy, having, orderBy, limit
try {
while(cursor.moveNext()) {
int id = cursor.getInt(0);
// Read the SQLite DATE as a long and construct a Java Date with it.
Date date = new Date(cursor.getLong(1)*1000);
// ...
}
} finally {
cursor.close();
db.close();
}
C'est ma façon préférée d'utiliser Dates dans SQLite et Android. – Flash
Nice mais je suis un peu confus .. Le type de champ sur SQLite dans ce cas devrait être DATETIME ou INT ou DATE? –
- 1. Android :: récupération des données de la base de données sqlite
- 2. Récupération de BLOB à partir de la base de données SQLite android
- 3. Android Ajouter DATE (maintenant) à la base de données SQLite
- 4. Android: chargement à partir de la base de données SQLite
- 5. Récupération de données à partir de la base de données SQLite;
- 6. Récupération de la base de données de MySQL vers SQLite
- 7. Mise à jour de la base de données sqlite Android?
- 8. Récupération d'un ensemble de lignes à partir de la base de données sqlite
- 9. Erreur lors de l'insertion de la date dans la base de données SQLite dans android
- 10. Android: insertion de datetime dans la base de données Sqlite
- 11. Comment ajouter la date dans la base de données SQLite
- 12. Trier la date dans la base de données Sqlite
- 13. Stocker l'objet de date dans la base de données sqlite
- 14. Chargement d'une grande quantité de données à partir de la base de données Sqlite dans Android
- 15. Exception lors de la récupération des valeurs de la base de données SQLite Android
- 16. Erreur de connexion à la base de données SQLite Android
- 17. Récupération à partir de la base de données VBA
- 18. Android: problème de récupération bitmap de la base de données
- 19. J'ai besoin d'aide lors de la récupération de la date à partir de sqlite
- 20. Copier la base de données sqlite de pc à android?
- 21. Lire la base de données Android SQLite
- 22. Impossible d'extraire des données à partir de la base de données Sqlite dans Android
- 23. Android Gérer la connexion à la base de données SQLite
- 24. GeoPoints à partir de la base de données SQLite existante
- 25. Accéder à la base de données SQLite dans l'émulateur android
- 26. INVALID_ACCESS_ERR lors de la récupération des données à partir sqlite dans Android en utilisant l'API PhoneGap
- 27. Récupération de la date de la date stockée dans la base de données et de la date actuelle
- 28. Comment connecter la base de données Android SQLITE à la base de données MSSQL à distance
- 29. comment récupérer des valeurs de la base de données (Sqlite) en utilisant la date dans Android?
- 30. Aceessing Image à partir de la base de données Sqlite
hi Nagaraj436 J'utilise le type de données DATE pour la date de la colonne. Donc, je ne peux pas utiliser cursor.getString –
@DeepakKataria Avez-vous essayé d'utiliser getString()? avez-vous eu des erreurs en utilisant cela? – TNR
Utilisez le type de données pour la date comme chaîne qui m'aiderait à faire de même. comme dit par @ Nagaraj436 qui aide à l'analyse de la date dans la forme qu'il a mentionné et d'autres formes aussi bien. faire usage de cursor.getString(). toString() – sankettt