mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Tweak relative date function (#6249)
* Tweak relative date function * Cleanup
This commit is contained in:
		| @@ -6,7 +6,6 @@ import java.text.DateFormat | ||||
| import java.util.Calendar | ||||
| import java.util.Date | ||||
| import java.util.TimeZone | ||||
| import kotlin.math.floor | ||||
|  | ||||
| fun Date.toDateTimestampString(dateFormatter: DateFormat): String { | ||||
|     val date = dateFormatter.format(this) | ||||
| @@ -98,7 +97,7 @@ fun Long.toLocalCalendar(): Calendar? { | ||||
|     } | ||||
| } | ||||
|  | ||||
| private const val MILLISECONDS_IN_DAY = 86_400_000.0 | ||||
| private const val MILLISECONDS_IN_DAY = 86_400_000L | ||||
|  | ||||
| fun Date.toRelativeString( | ||||
|     context: Context, | ||||
| @@ -109,8 +108,8 @@ fun Date.toRelativeString( | ||||
|         return dateFormat.format(this) | ||||
|     } | ||||
|     val now = Date() | ||||
|     val difference = now.time - this.time | ||||
|     val days = floor(difference / MILLISECONDS_IN_DAY).toInt() | ||||
|     val difference = now.timeWithOffset.floorNearest(MILLISECONDS_IN_DAY) - this.timeWithOffset.floorNearest(MILLISECONDS_IN_DAY) | ||||
|     val days = difference.floorDiv(MILLISECONDS_IN_DAY).toInt() | ||||
|     return when { | ||||
|         difference < 0 -> context.getString(R.string.recently) | ||||
|         difference < MILLISECONDS_IN_DAY -> context.getString(R.string.relative_time_today) | ||||
| @@ -122,3 +121,15 @@ fun Date.toRelativeString( | ||||
|         else -> dateFormat.format(this) | ||||
|     } | ||||
| } | ||||
|  | ||||
| private val Date.timeWithOffset: Long | ||||
|     get() { | ||||
|         return Calendar.getInstance().run { | ||||
|             time = this@timeWithOffset | ||||
|             this@timeWithOffset.time + timeZone.rawOffset | ||||
|         } | ||||
|     } | ||||
|  | ||||
| fun Long.floorNearest(to: Long): Long { | ||||
|     return this.floorDiv(to) * to | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user