Ok, dus ik kon stringdatums niet aan het werk krijgen, dus ik moest StringDates naar Kalenderdatums converteren naar Unix Time voordat ik ze aan de SQLite-database kon toevoegen en ze terug converteren (Unix Time naar Kalenderdatums naar String) wanneer ze werden weergegeven. Unix Time maakt berekeningen (volgorde, oplopend sorteren, tussen enz.) mogelijk op de datumkolommen en het is de beste methode om te gebruiken na urenlang vallen en opstaan. Hier is de code die ik uiteindelijk heb gebruikt:
Cursor c = newDB.rawQuery("select ID, Date, Hours from " + tableName + " where Date BETWEEN '" + startDateQueryDate + "' AND '" + endDateQueryDate + "' ORDER BY Date ASC", null);
if (c != null ) {
if (c.moveToFirst()) {
do {
int tempId = c.getInt(c.getColumnIndex("ID"));
long tempUnixTime = c.getLong(c.getColumnIndex("Date"));
//convert tempUnixTime to Date
java.util.Date startDateDate = new java.util.Date(tempUnixTime);
//create SimpleDateFormat formatter
SimpleDateFormat formatter1;
formatter1 = new SimpleDateFormat("dd/MM/yyyy", Locale.UK);
//convert Date to SimpleDateFormat and convert to String
String tempStringStartDate = formatter1.format(startDateDate);
int tempHours = c.getInt(c.getColumnIndex("Hours"));
results.add(+ tempId + " Date: " + tempStringStartDate + " Hours: " + tempHours);
}while (c.moveToNext());
}
}