这种的操作我们其实拿时间来比较最好了,通过年月日来比较
SharedPreferences preferences = getSharedPreferences("LastLoginTime", MODE_PRIVATE); String lastTime = preferences.getString("FirstTime", ""); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式 String todayTime = df.format(new Date());// 获取当前的日期 if (TextUtils.isEmpty(lastTime)) { Log.e("todayDate", lastTime); Log.e("todayDate", todayTime); saveTime(todayTime); return; } if (lastTime.equals(todayTime)) { //如果两个时间段相等 Log.e("todayDate", lastTime); } else { Log.e("todayDate", lastTime); Log.e("todayDate", todayTime); saveTime(todayTime); }
private void saveTime(String extiLoginTime) { SharedPreferences.Editor editor = getSharedPreferences("LastLoginTime", MODE_PRIVATE).edit(); editor.putString("FirstTime", extiLoginTime); //这里用apply()而没有用commit()是因为apply()是异步处理提交,不需要返回结果,而我也没有后续操作 //而commit()是同步的,效率相对较低 //apply()提交的数据会覆盖之前的,这个需求正是我们需要的结果 editor.apply(); }
大家可以自行进行封装。这完全是为了功能,所以没考虑那么多的。