2013-01-12 28 views
0

我正在學校的Android應用程序中工作。我目前正在建立一個記事本。我想知道是否有任何方法獲取日期並將其作爲日期格式存儲到sqlite數據庫中,然後當我從數據庫中檢索它並將其寫入到我的文本視圖中時,如果該註釋可以顯示hh::mm是今天寫的/修改的,或者如果是(假設)昨天寫的,那麼就是dd/mm/yy。爲了更清楚:如何在Android中正確輸出日期格式

  1. 我寫紙條
  2. 我得到的日期
  3. 我插入的一切到我的數據庫表
  4. 的數據檢索到一個ListView
  5. 的每一個音符,我想以正確的格式顯示日期(如果日期是同一天,則只顯示昨天如果是昨天寫的hh:mm,否則顯示dd/mm/yy

另外,哪種方式更好地將日期存儲到數據庫中,如日期格式?我在網上搜索,似乎有幾種方法可以做到,哪一個最好?

回答

2

日期可以轉換爲long值(從1970年1月1日00:00:00 UTC + 0000過去的毫秒數)。

這無疑是迄今爲止最方便的演示:這種格式

  1. System.currentTimeMillis()返回當前日期;
  2. 該格式用於設置使用AlarmManager;
  3. 很容易確定哪個日期更早(只比較兩個長值 - 更早更早);
  4. 易於存儲在數據庫中或使用SharedPreferences

Calendar類,這是在Java日期操作標準,也支持這種格式 - 它有setTimeInMillis()getTimeInMillis()功能。

有關更多詳細信息,請參閱Calendar類的文檔。

至於不同的日期格式,請查看SimpleDateFormat類。

+0

謝謝你的迴應。還有一件事,如果我想在sqlite數據庫中插入日期,我該怎麼做?我需要做長日期= System.currentTimeMillis()並將其作爲日期插入到我的數據庫? –

+1

@AndréHincu只是將它存儲爲INTEGER的值。無需將其轉換爲DATE。 –

+0

然後當我從我的數據庫中檢索我的日期時,如何使它顯示爲hh:mm(對於今天),昨天(對於昨天)以及其餘的dd/mm/yy? –