Android Как достать Дату

37
13 июня 2018, 20:20

Здраствуйте. Мне нужно дастать Текущею дату и сравнить с датой сохраненой например в sharedPreferences. Я новичек и не имею понятие какой тип используется для даты и можно ли сохранить ее в SharedPreferences.

Answer 1

Используйте 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));
Answer 2

Сравнение дат:

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 и затем считывать.

READ ALSO
Хранения данных Андроид

Хранения данных Андроид

Всем приветМожно ли как то сохранить информацию так чтобы оно имелось даже после того как приложения будет удалено и заново установлено?...

45
лямбда выражение в сортировке

лямбда выражение в сортировке

Стоит задача отсортировать все буквы в строке по алфавитуПрограмма должна игнорировать регистр при сортировке

14
Проблема с Intellij Idea

Проблема с Intellij Idea

Всем привет, проблема с IDEПочему-то как-то странно стали располагаться папки, в смысле папка resource автоматически стала пытаться стать root папкой

13