繁体   English   中英

如何获取给定日期与上一个记录日期之间的天数?

[英]How to get the number of days between a given date and the previous records date?

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

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

我正在考虑通过以下方式解决它:

  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。

亲切的问候,拉蒙

您可以使用以下方法进行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)));

您不应该使用ID。 插入记录时插入时间戳。 按时间戳获取记录顺序。

订购数据后,只需编写日期差函数即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM