作者paulku (蒼木浩介.改)
看板AndroidDev
標題[問題] 取得日期
時間Mon Sep 19 10:37:59 2016
不知道有沒有人遇到此問題
today = new Date();
Calendar c = Calendar.getInstance();
c.setTime(today);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
today = c.getTime();
這樣取到目前的日期
其他時分秒都設成0,也就是取得9/19號 00:00:00
但是我遇到的狀況是
昨晚9/18 23:00開著取得9/18
結果半夜一點甚至到剛剛
在APP不重開的情況下...依舊是取得9/18
只有將APP完全關閉重開才會取得9/19
請問這樣有辦法從程式端去做改進嗎
--
ˍˍ
JUSTWE就是JUSTWE
▕工廠▏
既不偉大也不卑微!
▕長印▏
 ̄ ̄
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.64.32.64
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1474252683.A.F4E.html
1F:推 aids61517: 我覺得你如果只要取得當前時間就不用setTime 09/19 10:47
2F:→ aids61517: Calendar.getInstance()就是取得當前時間了 09/19 10:48
3F:推 aids61517: 如果要用Date的話,就確認取到的Date的時間吧 09/19 10:50
4F:→ aids61517: 不然就是確認一下手機的時區對不對 09/19 10:51
從重開即可取得9/19這點看來
應該是可以確認時區不會有問題或者錯誤才對
而setTime將時分秒設定成0,是為了取資料庫只想拿今天
所以就設成0
從重開程式就可取得日期來說,set也不太會是問題點
所以我才會困惑
"為什麼要重開app才會取得9/19"
※ 編輯: paulku (210.64.32.64), 09/19/2016 11:17:19
5F:→ ssccg: 重開就會取得新時間,不就代表哪邊cache住了沒重取? 09/19 11:29
6F:→ ssccg: 你確定你的每次取得都是重跑這整段? today = new Date(); 09/19 11:31
7F:→ ssccg: 後的today值有在變? 09/19 11:31
謝謝你的提點
的確是犯了白痴蠢事....
我只有在onCreateView的時候取天......
View沒重作當然就不會重取
於是我快速弄個reload button
把 button set OnClickListener
在裡面重取天就沒問題了
感謝兩位的幫忙
給我重整思緒的意見
※ 編輯: paulku (210.64.32.64), 09/19/2016 11:51:01