ठीक है, इसलिए मुझे काम करने के लिए स्ट्रिंग तिथियां नहीं मिल सकीं, इसलिए मुझे SQLite डेटाबेस में जोड़ने से पहले स्ट्रिंग तिथियों को कैलेंडर तिथियों में यूनिक्स समय में परिवर्तित करना पड़ा और उन्हें प्रदर्शित करते समय उन्हें वापस परिवर्तित करना पड़ा (यूनिक्स टाइम टू कैलेंडर डेट टू स्ट्रिंग)। यूनिक्स समय दिनांक कॉलम पर गणना (क्रमानुसार, आरोही क्रम, आदि) की अनुमति देता है और यह परीक्षण और त्रुटि के लंबे घंटों के बाद उपयोग करने का सबसे अच्छा तरीका है। यहाँ वह कोड है जिसका मैंने उपयोग करके समाप्त किया:
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());
}
}