【发布时间】:2012-10-05 05:37:56
【问题描述】:
我在 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"
现在我需要在 sqlite 中按 desc 顺序对它们进行排序,即
select datetime(datecolumn) from table order by datetime(datecolumn) desc;
但是当我在字段上执行 datetime(column) 时,它显示我在日期字段上的所有行都为 null
显然在 sqlite 端存在数据不匹配。但我不知道如何解决它 - 有没有办法我仍然可以更改 sqlite 端的查询以便能够读取它?还是我必须更改 JAVA 代码并以 sqlite 可读格式插入数据。
我也需要时间,因为我正在处理每小时数据。
【问题讨论】:
-
当您说存储在 sqlite 表中时,您使用的是 JDBC 还是等效的?如果是这样,您为什么不使用
setDate(<column>, new java.sql.Date(date.getMillis())插入日期字段?如果不是 JDBC,为什么不呢? -
对不起,我要提一下我正在使用 JAVA Android sqlite insert helper,将数据直接插入到 sqlite 表中
-
如果要从 java 代码中添加日期时间,请始终保持日期时间为 YYYY-MM-DD HH:MM:SS 格式。如果您只想将当前日期时间添加到 sqlite db,请使用 sqlite 命令集中的 DateTime('Now','Localtime')。
标签: java android sqlite date datetime-format