0

こんにちは、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);

したがって、最終結果は次のようなクエリになるはずです
:

そのため、そのクエリはおそらく以前の YYYY-MM-DD との日付比較を行っています。

これらの 2 つの日付の間に作成されたオブジェクトを期待していますが、機能していません。それは1時間前に働いていました

私は面白いことをして、クエリの日付に DD-MM-YYYY 形式を使用しました。そして、それは明らかに機能していますが、クエリにこの形式を使用すると信頼できない結果が得られるのではないかと心配しています.

では、これを修正して信頼できる結果を得るにはどうすればよいでしょうか?

ご協力いただきありがとうございます

4

1 に答える 1

2

どうやら、日付を比較して良い結果を得るには、日付に2桁の月と日が必要です

たとえば、2013-04-09 または 2013-11-25

月または日が 1 桁の日付は機能しません

于 2013-08-05T03:09:11.030 に答える