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을 곱해준다.