簡體   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