Được, vì vậy tôi không thể làm cho chuỗi ngày hoạt động, vì vậy tôi phải chuyển đổi Chuỗi ngày thành Ngày lịch thành Giờ Unix trước khi thêm chúng vào cơ sở dữ liệu SQLite và chuyển đổi chúng trở lại (Thời gian Unix thành Ngày lịch thành Chuỗi) khi hiển thị chúng. Unix Time cho phép các phép tính (sắp xếp theo thứ tự, sắp xếp tăng dần, giữa các thứ, v.v.) được thực hiện trên các cột ngày tháng và nó là phương pháp tốt nhất để sử dụng sau nhiều giờ thử nghiệm và sai sót. Đây là mã tôi đã sử dụng:
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());
}
}