Android 如何通过比较两个日期从Sqlite获取记录

Android 如何通过比较两个日期从Sqlite获取记录,android,sqlite,date,Android,Sqlite,Date,我在网上搜索了很多,但还没有找到解决办法 基本上,我希望在从sqlite数据库到自定义android listview的两个日期之间填充记录 我知道SQLite没有专用的DATETIME类型。通常人们要做的是确保他们将日期存储为一致的格式化字符串;例如,YYYY-MM-DD hh:MM:ss。如果你这样做,只要你是一致的,那么你可以直接比较日期 但是,我的查询返回不正确的记录 以下是我尝试过的查询: public Cursor getBhattiNamesByDate(String fromD

我在网上搜索了很多,但还没有找到解决办法

基本上,我希望在从sqlite数据库到自定义android listview的两个日期之间填充记录

我知道SQLite没有专用的DATETIME类型。通常人们要做的是确保他们将日期存储为一致的格式化字符串;例如,YYYY-MM-DD hh:MM:ss。如果你这样做,只要你是一致的,那么你可以直接比较日期

但是,我的查询返回不正确的记录

以下是我尝试过的查询:

 public Cursor getBhattiNamesByDate(String fromDate, String todate, SQLiteDatabase sqLiteDatabase) {

    /*String query = " SELECT * FROM "+ AddBhattiContract.AddBhattiItems.TABLE_NAME+" WHERE "
            +AddBhattiContract.AddBhattiItems.COL_1+" BETWEEN '"+fromDate+"' AND '"+todate+"'";*/

    String query = " SELECT * FROM "+ AddBhattiContract.AddBhattiItems.TABLE_NAME+" WHERE "
            +AddBhattiContract.AddBhattiItems.COL_1+" >= Datetime('"+fromDate+"') AND "
            +AddBhattiContract.AddBhattiItems.COL_1+" <= Datetime('"+todate+"')";

  /*  String query = " SELECT * FROM "+ AddBhattiContract.AddBhattiItems.TABLE_NAME+" WHERE "
            +AddBhattiContract.AddBhattiItems.COL_1+" >= '"+fromDate+"' AND "
            +AddBhattiContract.AddBhattiItems.COL_1+" <= '"+todate+"'";*/

    cursor = sqLiteDatabase.rawQuery(query, null);
    Log.e("TagWastageCursor","true");
    return cursor;
}

实现这一点的最佳方法是将dare保存为时间戳字符串,然后在查询时,只需将这些时间戳解析为相同的长度,然后就可以进行比较。
Timestamp是从1970年1月1日开始的秒数。

你有没有我可以参考的例子?是秒数还是毫秒数?我还建议使用整数而不是文本,因此当queryIt是秒数时不需要解析,最好将时间戳另存为字符串,因为你需要将其解析为长字符串。Long可以保存比INTEGER更多的值,因此如果这样做,您可能会遇到错误。请提供一些示例数据和所需的输出。请参阅以了解如何添加一些。