일단...로직을 생각하시면 답이나올거같은데요
현재부터시작되는 날짜부터 30일까지의 날자를 long타입으로 preference에 저장합니다
그리고 현재시간을 long타입으로 가져와서 프리퍼런스에저장되어있는 날짜와 비교를해서 0보다작으면
1달이지나있는지 알수있겠죠
//현재시간으로부터 하루만큼에 시간을 long타입으로 반환한다.
Calendar mCalendar = Calendar.getInstance();
mCalendar.add(Calendar.DATE, 1);
long time = mCalendar.getTimeInMillis();
//프리퍼런스에 저장한다.
Editor editor = context.getSharedPreferences(KEY, Context.MODE_PRIVATE).edit();
editor.putLong(1DAYS_AFTER, time);
return editor.commit();
//프리퍼런스에 저장되어있는 날짜를 가져와서 현재시간하고 비교한다.
SharedPreferences savedSession = context.getSharedPreferences(KEY, Context.MODE_PRIVATE);
long prefTime = savedSession.getLong(1DAYS_AFTER, 0);
long currentTime = prefDate - System.currentTimeMillis();
long resultTime = prefTime - currentTime ;
if(resultDate <= 0) {
//프리퍼런스에 저장된 기간이 만료됨
}