Sqlite DateTime无法识别Java当前日期时间
我在Android中使用以下代码来获取当前日期时间Sqlite DateTime无法识别Java当前日期时间,java,android,sqlite,date,datetime-format,Java,Android,Sqlite,Date,Datetime Format,我在Android中使用以下代码来获取当前日期时间 Date currentDateTime = new Date(); 并将其存储在sqlite表中 currentDateTime.ToString() 所以在表中,值是这样存储的 "Tue Sep 11 20:32:39 IST 2012" "Thu Sep 13 17:23:38 IST 2012" "Thu Sep 13 17:34:38 IST 2012" "Thu Sep 13 20:21:58 IST 2012" 现在我需要在
Date currentDateTime = new Date();
并将其存储在sqlite表中
currentDateTime.ToString()
所以在表中,值是这样存储的
"Tue Sep 11 20:32:39 IST 2012"
"Thu Sep 13 17:23:38 IST 2012"
"Thu Sep 13 17:34:38 IST 2012"
"Thu Sep 13 20:21:58 IST 2012"
现在我需要在sqlite中按desc顺序对它们进行排序,即
select datetime(datecolumn) from table order by datetime(datecolumn) desc;
但当我在字段上执行datetime(column)时,它会显示日期字段上所有行的null
显然,sqlite端存在数据不匹配。但是我不知道如何修复它——有没有一种方法我仍然可以在sqlite端更改查询以便能够读取它?或者我必须更改JAVA代码并以sqlite可读格式插入数据
我也需要时间,因为我要处理每小时的数据 我会用
currentDateTime.getTime())
并将该值存储在数据库中,所需的空间更少,我假设为我将使用的sqlite排序要快得多
currentDateTime.getTime())
并在数据库中存储该值—所需的空间更少,我假设对sqlite进行排序要快得多请参阅sqlite识别为日期的格式列表
如果希望数据库字段比单个毫秒值更具可读性,请将字符串格式化为YYYY-MM-DD HH:MM:SS
有关SQLite识别为日期的格式列表,请参阅
如果您希望数据库字段比单个毫秒值更可读,请将字符串格式化为
YYYY-MM-DD HH:MM:SS
当您说存储在sqlite表中时,您使用的是JDBC还是等效的?如果是这样,为什么不使用setDate(,new java.sql.Date(Date.getMillis())
插入日期字段?如果不是JDBC,为什么不呢?很抱歉,我应该提到我使用的是JAVA Android sqlite insert helper,如果要从JAVA代码中添加datetime,请始终以YYYY-MM-DD HH:MM:SS格式将数据直接插入sqlite表。如果只想将当前日期时间添加到sqlite db,请使用datetime('Now','Localtime'))当你说存储在sqlite表中时,你是在使用JDBC还是它的等价物?如果是,为什么不使用setDate(,new java.sql.Date(Date.getMillis())
插入日期字段?如果不是JDBC,为什么不呢?很抱歉,我应该提到我使用的是JAVA Android sqlite insert helper,如果要从JAVA代码中添加datetime,请始终以YYYY-MM-DD HH:MM:SS格式将数据直接插入sqlite表。如果只想将当前日期时间添加到sqlite db,请使用datetime('Now','Localtime'))从sqlite命令集。