1

我有一个带有记录的 ListView,点击记录会打开一个详细的记录视图。在这个详细视图中,我想打印出当前记录和上一个记录之间的天数。我怎样才能做到这一点?

我知道存在一个获取最后插入的 id 的 SQLite 函数,但我看不出它在这里会有所帮助。

我正在考虑以这种方式解决它:

  1. 获取详细视图中显示的当前记录的id
  2. 获取日期并临时保存
  3. 给定这个 id,写在当前 id 之前的记录的 id 是什么?
  4. 给定上一条记录的 id,获取其日期并临时保存。
  5. 计算详细视图中的当前记录与先前记录之间的天数。

所以,我想要的答案是:这个坦克用了 13 天。

实际上,我被困在上面的第 3 步,给定一个任意 id,我如何才能找出在该 id 之前存储在 db 中的记录对 id 有什么影响?

一个例子:

id  date  note
---------------------------
1   2013-01-03  first note
2   2013-01-13  second note
4   2013-01-20  ...
7   2013-02-01  ...

如果我打开 id 为 4 的记录的详细视图,我想计算自写入 id 为 2 的记录以来的天数。即 2013-01-20 - 2013-01-13。

亲切的问候,拉蒙

4

2 回答 2

0

您可以使用以下方法进行date操作:-

SimpleDateFormat formater=new SimpleDateFormat("yyyy-MM-dd");

long d1=formater.parse(date1Str).getTime();
long d2=formater.parse(date2Str).getTime();

System.out.println(Math.abs((d1-d2)/(1000*60*60*24)));
于 2013-02-20T10:14:57.967 回答
0

你不应该通过身份证去。插入记录时插入时间戳。按时间戳获取记录顺序。

一旦您订购了数据,只需编写日期差异函数即可。

于 2013-02-20T10:20:41.213 回答