[問題] 取得日期

看板AndroidDev作者 (蒼木浩介.改)時間9年前 (2016/09/19 10:38), 9年前編輯推噓2(205)
留言7則, 2人參與, 最新討論串1/1
不知道有沒有人遇到此問題 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://www.ptt.cc/bbs/AndroidDev/M.1474252683.A.F4E.html

09/19 10:47, , 1F
我覺得你如果只要取得當前時間就不用setTime
09/19 10:47, 1F

09/19 10:48, , 2F
Calendar.getInstance()就是取得當前時間了
09/19 10:48, 2F

09/19 10:50, , 3F
如果要用Date的話,就確認取到的Date的時間吧
09/19 10:50, 3F

09/19 10:51, , 4F
不然就是確認一下手機的時區對不對
09/19 10:51, 4F
從重開即可取得9/19這點看來 應該是可以確認時區不會有問題或者錯誤才對 而setTime將時分秒設定成0,是為了取資料庫只想拿今天 所以就設成0 從重開程式就可取得日期來說,set也不太會是問題點 所以我才會困惑 "為什麼要重開app才會取得9/19" ※ 編輯: paulku (210.64.32.64), 09/19/2016 11:17:19

09/19 11:29, , 5F
重開就會取得新時間,不就代表哪邊cache住了沒重取?
09/19 11:29, 5F

09/19 11:31, , 6F
你確定你的每次取得都是重跑這整段? today = new Date();
09/19 11:31, 6F

09/19 11:31, , 7F
後的today值有在變?
09/19 11:31, 7F
謝謝你的提點 的確是犯了白痴蠢事.... 我只有在onCreateView的時候取天...... View沒重作當然就不會重取 於是我快速弄個reload button 把 button set OnClickListener 在裡面重取天就沒問題了 感謝兩位的幫忙 給我重整思緒的意見 ※ 編輯: paulku (210.64.32.64), 09/19/2016 11:51:01
文章代碼(AID): #1Ntq-BzE (AndroidDev)