Ok, så jag kunde inte få strängdatum att fungera, så jag var tvungen att konvertera strängdatum till kalenderdatum till Unix-tid innan jag lade till dem i SQLite-databasen och konvertera tillbaka dem (Unix-tid till kalenderdatum till sträng) när jag visade dem. Unix Time tillåter beräkningar (ordning efter, sortera stigande, mellan etc) som görs på datumkolumnerna och det är den bästa metoden att använda efter långa timmar av försök och misstag. Här är koden jag slutade använda:
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());
}
}