Ok, så jeg kunne ikke få strengdatoer til at virke, så jeg var nødt til at konvertere strengdatoer til kalenderdatoer til Unix-tid, før jeg tilføjede dem til SQLite-databasen og konvertere dem tilbage (Unix-tid til kalenderdatoer til streng), når jeg viste dem. Unix Time tillader beregninger (rækkefølge efter, sortering stigende, mellem osv.) udført på datokolonnerne, og det er den bedste metode at bruge efter mange timers forsøg og fejl. Her er koden, jeg endte med at bruge:
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());
}
}