Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取过去12小时价值的SQLite条目_Java_Android_Sqlite_Datetime - Fatal编程技术网

Java 获取过去12小时价值的SQLite条目

Java 获取过去12小时价值的SQLite条目,java,android,sqlite,datetime,Java,Android,Sqlite,Datetime,我试图从一个使用android的SQLite数据库中获取过去12小时的条目 我想知道这是否可能 我的日期格式是使用简单日期格式的“yyyy-MM-dd HH:MM:ss.SSS” 我在表格中创建了一个文本类型的_AT列 我已经做到了这一点: SELECT * FROM " + ENTRIES_TABLE + " WHERE " + CREATED_AT + ..." 此外,创建的_AT列是文本而不是日期时间类型是否重要 谢谢作为一个文本字段,你不能做很多事情。事实上,你唯一的选择就是解析数据并

我试图从一个使用android的SQLite数据库中获取过去12小时的条目

我想知道这是否可能

我的日期格式是使用简单日期格式的“yyyy-MM-dd HH:MM:ss.SSS”

我在表格中创建了一个文本类型的_AT列

我已经做到了这一点:

SELECT * FROM " + ENTRIES_TABLE + " WHERE " + CREATED_AT + ..."
此外,创建的_AT列是文本而不是日期时间类型是否重要


谢谢作为一个文本字段,你不能做很多事情。事实上,你唯一的选择就是解析数据并手动操作,这样你就可以一直工作而不费吹灰之力。痛苦的途径是直接查看字符串比较,但如果您在中午之前处理1月1日的事务,那么这会变得复杂

在sqlite中处理日期的更好的方法,实际上也是最好的方法,是使用Unix时间戳。然后,只需选择时间标签大于当前时间减去12小时的任何内容,就可以完成设置。

SQLite使用;列是否声明为TEXT、DATETIME或fluffly BUNNIES并不重要

SQLite的日期格式设计为字符串比较可以正常工作。 要从时间戳中减去12小时,请使用以下选项之一:

选择*
从条目
其中CreatedAt>=datetime('now','-12小时')

(SQLite日期函数默认使用UTC;检查表的值是否使用某些本地时区。)

如果字符串匹配,则执行
=
操作并不重要,但代码没有正确解释这一点。但这也不是个好主意。如果希望
小于
介于
之间,应考虑使用sqlite
INTEGER将在
创建的
存储为UNIX时间戳,而不是
字符串
。您将使用长变量读取代码中的值。这并不能直接回答您的问题,但有助于将来进行比较。您还应该考虑接受过去问题的答案。相关: