sqlite日期查询在android中运行不正常

时间:2013-08-05 01:57:41

标签: android date sqlite

您好我需要进行查询,比较2个日期并选择在这2个日期之间创建的所有对象。

我的日期字段是文字类型。

我已经进行了一些测试,显然日期是以YYYY-MM-DD格式存储的。

我使用此代码进行查询:

return bd.query("Gasto", null , "Fecha_Creado between '"+fecha1+ "' and '"+fecha2+"'", null, null, null, "Fecha_Creado DESC", null);

和此代码检索日期并将它们传递给上一个函数

return bd.obtenerGastosVar(fecha.get(Calendar.YEAR)+"-"+(fecha.get(Calendar.MONTH)+1)+"-1", 
            fecha.get(Calendar.YEAR)+"-"+(fecha.get(Calendar.MONTH)+1)+"-"+fecha.getActualMaximum(Calendar.DAY_OF_MONTH), ordenadoPor);

所以最终结果应该是一个查询: 从gasto中选择*,其中date1和date2之间的日期 所以那是 从2013-10-1和2013-8-31之间的日期选择*来自gasto

所以,该查询应该与前YYYY-MM-DD进行日期比较。

我期待在这两个日期之间创建的对象,但它不起作用。它一小时前工作了

我做了一些有趣的事情并用于查询日期,DD-MM-YYYY格式。这显然是有效的,但我害怕使用这种格式的查询将带来不可靠的结果。

那么如何解决这个问题并获得可靠的结果呢?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

显然,为了能够比较日期,取得好成绩,日期必须有2位数月和日

例如2013-04-09或2013-11-25

一个月或几天的日期不起作用