Skip to content

Commit

Permalink
#1240 - Format date based on current locale
Browse files Browse the repository at this point in the history
  • Loading branch information
moezbhatti committed Apr 2, 2019
1 parent 0f77141 commit 1e6b041
Showing 1 changed file with 9 additions and 5 deletions.
Expand Up @@ -32,13 +32,17 @@ import javax.inject.Singleton
class DateFormatter @Inject constructor(val context: Context) {

/**
* Replace 12 hour format with 24 hour format if necessary
* Formats the [pattern] correctly for the current locale, and replaces 12 hour format with
* 24 hour format if necessary
*/
private fun getFormatter(pattern: String): SimpleDateFormat {
val isUsing24HourTime = DateFormat.is24HourFormat(context)
var formattedPattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), pattern)

return if (isUsing24HourTime) SimpleDateFormat(pattern.replace("h", "HH").replace(" a".toRegex(), ""), Locale.getDefault())
else SimpleDateFormat(pattern, Locale.getDefault())
if (DateFormat.is24HourFormat(context)) {
formattedPattern = formattedPattern.replace("h", "HH").replace(" a".toRegex(), "")
}

return SimpleDateFormat(formattedPattern, Locale.getDefault())
}

fun getDetailedTimestamp(date: Long): String {
Expand Down Expand Up @@ -71,7 +75,7 @@ class DateFormatter @Inject constructor(val context: Context) {
now.isSameDay(then) -> getFormatter("h:mm a")
now.isSameWeek(then) -> getFormatter("E")
now.isSameYear(then) -> getFormatter("MMM d")
else -> getFormatter("d/MM/yy")
else -> getFormatter("MM/d/yy")
}.format(date)
}

Expand Down

0 comments on commit 1e6b041

Please sign in to comment.