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 所需的小时数。
我正在 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 所需的小时数。