作者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/cn.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