Things take time

[Android] 현재 날짜, 형식, 시간, 분 구하기 / 날짜 차이 구하기 본문

Android(기능)

[Android] 현재 날짜, 형식, 시간, 분 구하기 / 날짜 차이 구하기

겸손할 겸 2019. 6. 12. 10:38

데이터베이스에 저장된 시간과 현재 시간을 비교하여, 특정 시간내에 위치할 경우 UI를 추가, 변경하는 로직에 사용했다.

 

항상 보는데도 기억이 가물가물.

 

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.KOREA);
Date inputDate = simpleDateFormat.parse(inputDm);

Date date = new Date();
String currDateStr = simpleDateFormat.format(date);
Date currDate = simpleDateFormat.parse(currDateStr);

long hour = (currDate.getTime() - inputDate.getTime()) / (60 * 60 * 1000);
long min = (currDate.getTime() - inputDate.getTime()) / (60 * 1000);

if (hour < 24) {
  nwFrndCnt++;
  isNwFrnd = true;
  if (frndLst != null) {
  nwFrndLstList.add(frndLst);
  }
}

뭐 이런식으로 사용하고 있다.

 

inputDm은 데이터베이스에 저장된 시간

DATE_FORMAT(fl.input_dm,'%Y-%m-%d %H:%m:%s') AS inputDm

이런식으로 서버에서 보내주고 있고, 그에 맞춰서 SimpleDateFormat을 맞춰준다.

그런 후 Date형식으로 바꿔줘야하는데, 현재 시간의 경우 Date로 얻어낸 것을 Format으로 맞춰주고 다시 parse를 통해 Date형식으로 반환해야한다.

 

getTime을 통해 비교하며, 기본적으로 60은 분, 혹은 초에 사용되고 1000을 곱해준다.