From 0d8e72f5f980bee4b0b72fecc2494af7d494ae3a Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Mon, 25 Feb 2019 11:26:38 +0100 Subject: [PATCH] Add new extensions --- .../pokeranalytics/android/util/Extensions.kt | 50 +++++++++++++++++-- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/net/pokeranalytics/android/util/Extensions.kt b/app/src/main/java/net/pokeranalytics/android/util/Extensions.kt index 1e8c5ab1..cb74c703 100644 --- a/app/src/main/java/net/pokeranalytics/android/util/Extensions.kt +++ b/app/src/main/java/net/pokeranalytics/android/util/Extensions.kt @@ -35,19 +35,54 @@ fun Double.toCurrency(): String { return "$ ${formatter.format(this)}" } +// Calendar + +// Return if the calendar dates are in the same month +fun Calendar.isSameMonth(calendar: Calendar): Boolean { + return calendar.get(Calendar.YEAR) == this.get(Calendar.YEAR) && + calendar.get(Calendar.MONTH) == this.get(Calendar.MONTH) +} +// Return if the calendar dates are in the same day +fun Calendar.isSameDay(calendar: Calendar): Boolean { + return calendar.get(Calendar.YEAR) == this.get(Calendar.YEAR) && + calendar.get(Calendar.MONTH) == this.get(Calendar.MONTH) && + calendar.get(Calendar.DAY_OF_MONTH) == this.get(Calendar.DAY_OF_MONTH) +} + // Date // Return a short string of the date -fun Date.short(): String { +fun Date.shortDate(): String { + return DateFormat.getDateInstance(DateFormat.SHORT).format(this) +} +// Return a short string of the date +fun Date.mediumDate(): String { + return DateFormat.getDateInstance(DateFormat.MEDIUM).format(this) +} +// Return a long string of the date +fun Date.longDate(): String { + return DateFormat.getDateInstance(DateFormat.LONG).format(this) +} +// Return a short string of the date +fun Date.fullDate(): String { + return DateFormat.getDateInstance(DateFormat.FULL).format(this) +} + +// Return a short string of the date & time +fun Date.shortDateTime(): String { return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(this) } -// Return a medium string of the date -fun Date.medium(): String { +// Return a medium string of the date & time +fun Date.mediumDateTime(): String { return DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(this) } -// Return the full string of the date -fun Date.full(): String { +// Return a long string of the date & time +fun Date.longDateTime(): String { + return DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(this) +} +// Return the full string of the date & time +fun Date.fullDateTime(): String { return DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL).format(this) } // Return the day number of the date @@ -58,6 +93,11 @@ fun Date.getDayNumber() : String { fun Date.getShortDayName() : String { return SimpleDateFormat("EE", Locale.getDefault()).format(this) } +// Return the month & year of the date +fun Date.getMonthAndYear(): String { + return SimpleDateFormat("MMMM YYYY", Locale.getDefault()).format(this) +} + // Return the duration between two dates fun Date.getDuration(context: Context, toDate: Date) : String { val difference = (toDate.time - this.time).toInt()