728x90
TimeUnit 으로 시간을 받아왔을 때 현재 시간과 비교를 하거나 계산을 해야할 때 사용하면 좋은 방법!
현재시간 구하기.
val nowDateTime = Calendar.getInstance().timeInMillis
비교 시간. 1677217428000 ( type 은 Long 데이터이다.)
val differenceValue = nowDateTime - createDateTime
val sdf = SimpleDateFormat("yyyy MM월 dd일 (EE) a h:mm")
val date = sdf.format(differenceValue)
이런식으로 두 데이터를 빼 준다음 SimpeDateFormat 을 이용해서 원하는 형식으로 나타내주면 된다.
추가로 'x분 전', 'x시간 전', 'x일 전', 'x주 전' 등과 같은 포맷으로 변경하는 방법.
fun calculationWriteTime(createDateTime: Long): String {
val nowDateTime = Calendar.getInstance().timeInMillis
var value = ""
val differenceValue = nowDateTime - createDateTime
when {
differenceValue < 60000 -> {
value = "방금 전"
}
differenceValue < 3600000 -> {
value = TimeUnit.MILLISECONDS.toMinutes(differenceValue).toString() + "분 전"
}
differenceValue < 86400000 -> {
value = TimeUnit.MILLISECONDS.toHours(differenceValue).toString() + "시간 전"
}
differenceValue < 604800000 -> {
value = TimeUnit.MILLISECONDS.toDays(differenceValue).toString() + "일 전"
}
differenceValue < 2419200000 -> {
value = (TimeUnit.MILLISECONDS.toDays(differenceValue) / 7).toString() + "주 전"
}
differenceValue < 31556952000 -> {
value = (TimeUnit.MILLISECONDS.toDays(differenceValue) / 30).toString() + "개월 전"
}
else -> {
value = (TimeUnit.MILLISECONDS.toDays(differenceValue) / 365).toString() + "년 전"
}
}
return value
}
'안드로이드' 카테고리의 다른 글
[Android Studio] ParselableArrayList 로 Intent 하는 법! (Kotlin) (0) | 2023.03.17 |
---|---|
[Android studio] ViewPager2, CircleIndicator3 사용하기! (Kotlin) (0) | 2023.03.01 |
[Android Studio] 리사이클러뷰 item 하단 짤렸을 경우 (2) | 2023.02.21 |
[Android Studio] 클립보드 복사하기 ! (Feat.중복방지) (0) | 2023.01.19 |
[Android Studio] 핸드폰 Vibrator 효과 사용하기 (0) | 2022.12.28 |