1

我想在我的应用程序中实现每日问题功能。如果用户每天使用该功能一次,他将无法访问该功能,直到当天发生变化。我可以在首次访问功能时获取,但我如何才能检查这个日期时间以备下次使用。

我怎样才能得到日期是否更改。

提前致谢。

4

4 回答 4

2

您可以结合使用时间戳、共享首选项和使用isToday(long when)位于android.text.format.DateUtils

代码示例:

SharedPreferences userDetails = context.getSharedPreferences("userdetails", MODE_PRIVATE);
long sharedPreferenceTimestamp= userDetails.getLong("lastquestiontime", 0); // 0: 1/1/1970
if(!DateUtils.isToday(sharedPreferenceTimestamp)) {
   // --> show the Question HERE! <--

   // update the value of last question show!
   SharedPreferences.Editor editor = userDetails.edit();
   editor.putLong("lastquestiontime", System.currentTimeMillis()); // value to store
   editor.commit();
}
于 2013-02-24T10:36:11.803 回答
1

我更喜欢使用 unix 时间来计算日期。unix 时间是自 1970 年 1 月 1 日格林威治标准时间午夜以来的毫秒数。您可以通过调用 Date.getTime() 方法获取此数字。

因为您需要经过的天数,所以您应该将此数字除以 24*60*60*1000。之后,您无需执行任何其他操作,只需比较两个数字即可。如果数字相同,则日期不会改变。

于 2013-02-24T10:28:07.220 回答
0

您不能使用共享首选项并添加用户名和日期作为键。然后,当您下次检索用户名时,您可以检索该用户的日期并进行比较。

于 2013-02-24T08:50:41.433 回答
0
于 2018-01-30T22:52:36.010 回答