Здраствуйте. Мне нужно дастать Текущею дату и сравнить с датой сохраненой например в sharedPreferences. Я новичек и не имею понятие какой тип используется для даты и можно ли сохранить ее в SharedPreferences.
Используйте long
:
//взять дату в мс (тек системы)
Date date = new Date(System.currentTimeMillis());
//записать дату в виде (long) в preferences
sharedPreferences.edit().putLong("date", date.getTime()).apply();
//достать дату из preferences
Date mySavedDate = new Date(prefs.getLong("date", 0));
Сравнение дат:
try {
DateFormat df = new SimpleDateFormat("hh:mm:ss_yyyy.MM.dd");
Date date1 = new java.util.Date();
Date date2 = df.parse("00:00:00_2013.01.01");
long diff = date2.getTime() - date1.getTime();
Log.e("TEST" , date1.getTime() + " - " + date2.getTime() + " - " + diff);
} catch (ParseException e) {
Log.e("TEST", "Exception", e);
}
date1: 1350921506492
date2: 1356994800000
diff: 6073293508
diff / 1000 / 60 / 60 / 24 = 70,292748935 // (дней)
Взято с англоязычного SO.
Соответственно можете сохранять в SharedPreferences
и затем считывать.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем приветМожно ли как то сохранить информацию так чтобы оно имелось даже после того как приложения будет удалено и заново установлено?...
Стоит задача отсортировать все буквы в строке по алфавитуПрограмма должна игнорировать регистр при сортировке
Всем привет, проблема с IDEПочему-то как-то странно стали располагаться папки, в смысле папка resource автоматически стала пытаться стать root папкой