SQLITE 未来 24 小时数据

SQLITE next 24 hours data

我正在 select 从我的 table:

看接下来 24 小时的比赛
String sql = "SELECT * FROM teamstable 
             WHERE ((teamdate >= datetime ('now'))
             AND (teamdate < datetime('now','+24 hours')))
             ORDER BY teamdate";

Cursor cursor = db.rawQuery(sql, null);

但是结果很奇怪,因为我只有明天的比赛:

String teamDate48 = "2015-03-08 21:30";
.
.
String teamDate54 = "2015-03-08 13:00";

我也应该有今天的比赛:

String teamDate41 = "2015-03-07 20:30";
.
.
String teamDate47 = "2015-03-07 19:00";

如果相关,我也会在此操作中将日期格式化为当地时间:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");

Date datex = null;
try 
{
    sdf.setTimeZone(TimeZone.getTimeZone("America/New_York"));
    datex = sdf.parse(tdate111);
    System.out.println(datex);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    sdf.setTimeZone(TimeZone.getDefault());

我的猜测是:问题是由于我的 phone (GMT) 和存储的日期 (America/New_York) 之间的时区差异引起的。这会导致这个吗?

documentation 关于 date/time 函数的说法:

Universal Coordinated Time (UTC) is used.

唯一直接支持的其他时区是 OS 报告的时区,但在您的情况下,它是相同的。

要在时区之间转换,请使用修饰符 add/subtract 所需的小时数。