diff --git a/simpledate/src/main/java/com/parassidhu/simpledate/SimpleDate.kt b/simpledate/src/main/java/com/parassidhu/simpledate/SimpleDate.kt deleted file mode 100644 index bb8c056..0000000 --- a/simpledate/src/main/java/com/parassidhu/simpledate/SimpleDate.kt +++ /dev/null @@ -1,211 +0,0 @@ -package com.parassidhu.simpledate - -import java.text.SimpleDateFormat -import java.util.* - -private lateinit var simpleDateFormat: SimpleDateFormat - -/*fun main() { - val date = Date() - - println(date.toDateTimeStandard()) - println(date.toDateTimeStandardIn12Hours()) - println(date.toDateTimeStandardInDigits()) - println(date.toDateTimeStandardInDigitsAnd12Hours()) - println(date.toDateTimeStandardConcise()) - println(date.toDateTimeStandardConciseIn12Hours()) - println(date.toDateTimeYY()) - println(date.toDateTimeYYIn12Hours()) - println(date.toDateTimeYYInDigits()) - println(date.toDateTimeYYInDigitsAnd12Hours()) - println(date.toDateTimeYYConcise()) - println(date.toDateTimeYYConciseIn12Hours()) - println(date.toZuluFormat()) - println("-----------------------------------------") - println(date.toTimeStandard()) - println(date.toTimeStandardWithoutSeconds()) - println(date.toTimeStandardIn12Hours()) - println(date.toTimeStandardIn12HoursWithoutSeconds()) - println("-----------------------------------------") - println(date.toDateStandard()) - println(date.toDateStandardConcise()) - println(date.toDateStandardInDigits()) - println(date.toDateYY()) - println(date.toDateYYConcise()) - println(date.toDateYYInDigits()) - println(date.toDateYMD()) - println(date.toDateYMDConcise()) - println(date.toDateYMDInDigits()) - println(date.toDateEMd()) - println(date.toDateEMYShort()) - println(date.toDateEMY()) - println("-----------------------------------------") - println(date.toDay()) -}*/ - -// -------------------------- DateTime -------------------------- - -fun Date?.toDateTimeStandard(): String { - val pattern = "dd MMMM yyyy HH:mm:ss" - - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeStandardIn12Hours(): String { - val pattern = "dd MMMM yyyy h:mm:ss a" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeStandardInDigits(): String { - val pattern = "dd-MM-yyyy HH:mm:ss" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeStandardInDigitsAnd12Hours(): String { - val pattern = "dd-MM-yyyy h:mm:ss a" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeStandardConcise(): String { - val pattern = "dd MMM yyyy HH:mm:ss" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeStandardConciseIn12Hours(): String { - val pattern = "dd MMM yyyy h:mm:ss a" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeYY(): String { - val pattern = "dd MMMM yy HH:mm:ss" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeYYIn12Hours(): String { - val pattern = "dd MMMM yy h:mm:ss a" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeYYInDigits(): String { - val pattern = "dd-MM-yy HH:mm:ss" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeYYInDigitsAnd12Hours(): String { - val pattern = "dd-MM-yy h:mm:ss a" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeYYConcise(): String { - val pattern = "dd MMM yy HH:mm:ss" - return dateAsString(this, pattern) -} - -fun Date?.toDateTimeYYConciseIn12Hours(): String { - val pattern = "dd MMM yy h:mm:ss a" - return dateAsString(this, pattern) -} - -fun Date?.toZuluFormat(): String { - val pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" - return dateAsString(this, pattern) -} -// -------------------------- Time -------------------------- - -fun Date?.toTimeStandard(): String { - val pattern = "HH:mm:ss" - return dateAsString(this, pattern) -} - -fun Date?.toTimeStandardWithoutSeconds(): String { - val pattern = "HH:mm" - return dateAsString(this, pattern) -} - -fun Date?.toTimeStandardIn12Hours(): String { - val pattern = "h:mm:ss a" - return dateAsString(this, pattern) -} - -fun Date?.toTimeStandardIn12HoursWithoutSeconds(): String { - val pattern = "h:mm a" - return dateAsString(this, pattern) -} - -// -------------------------- Date -------------------------- - -fun Date?.toDateStandard(): String { - val pattern = "dd MMMM YYYY" - return dateAsString(this, pattern) -} - -fun Date?.toDateStandardConcise(): String { - val pattern = "dd MMM yyyy" - return dateAsString(this, pattern) -} - -fun Date?.toDateStandardInDigits(): String { - val pattern = "dd-MM-yyyy" - return dateAsString(this, pattern) -} - -fun Date?.toDateYY(): String { - val pattern = "dd MMMM yy" - return dateAsString(this, pattern) -} - -fun Date?.toDateYYConcise(): String { - val pattern = "dd MMM yy" - return dateAsString(this, pattern) -} - -fun Date?.toDateYYInDigits(): String { - val pattern = "dd-MM-yy" - return dateAsString(this, pattern) -} - -fun Date?.toDateYMD(): String { - val pattern = "yyyy MMMM dd" - return dateAsString(this, pattern) -} - -fun Date?.toDateYMDConcise(): String { - val pattern = "yyyy MMM dd" - return dateAsString(this, pattern) -} - -fun Date?.toDateYMDInDigits(): String { - val pattern = "yyyy-MM-dd" - return dateAsString(this, pattern) -} - -fun Date?.toDateEMd(): String { - val pattern = "EEE, MMM dd" - return dateAsString(this, pattern) -} - -fun Date?.toDateEMYShort(): String { - val pattern = "EEE, MMM YY" - return dateAsString(this, pattern) -} - -fun Date?.toDateEMY(): String { - val pattern = "EEEE, MMMM YYYY" - return dateAsString(this, pattern) -} - -// -------------------------- Day -------------------------- - -fun Date?.toDay(): String { - val pattern = "EEEE" - return dateAsString(this, pattern) -} -// --------------------------------------------------------- - -private fun dateAsString(date: Date?, pattern: String): String { - simpleDateFormat = SimpleDateFormat(pattern, Locale.getDefault()) - if (date != null) - return simpleDateFormat.format(date) - else - throw NullPointerException("Date can't be null") -} diff --git a/simpledate/src/main/kotlin/com/parassidhu/simpledate/Date.kt b/simpledate/src/main/kotlin/com/parassidhu/simpledate/Date.kt new file mode 100644 index 0000000..13cdade --- /dev/null +++ b/simpledate/src/main/kotlin/com/parassidhu/simpledate/Date.kt @@ -0,0 +1,67 @@ +@file:JvmMultifileClass +@file:JvmName("SimpleDate") + +package com.parassidhu.simpledate + +import java.util.* + + +fun Date?.toDateStandard(): String { + val pattern = "dd MMMM YYYY" + return dateAsString(this, pattern) +} + +fun Date?.toDateStandardConcise(): String { + val pattern = "dd MMM yyyy" + return dateAsString(this, pattern) +} + +fun Date?.toDateStandardInDigits(): String { + val pattern = "dd-MM-yyyy" + return dateAsString(this, pattern) +} + +fun Date?.toDateYY(): String { + val pattern = "dd MMMM yy" + return dateAsString(this, pattern) +} + +fun Date?.toDateYYConcise(): String { + val pattern = "dd MMM yy" + return dateAsString(this, pattern) +} + +fun Date?.toDateYYInDigits(): String { + val pattern = "dd-MM-yy" + return dateAsString(this, pattern) +} + +fun Date?.toDateYMD(): String { + val pattern = "yyyy MMMM dd" + return dateAsString(this, pattern) +} + +fun Date?.toDateYMDConcise(): String { + val pattern = "yyyy MMM dd" + return dateAsString(this, pattern) +} + +fun Date?.toDateYMDInDigits(): String { + val pattern = "yyyy-MM-dd" + return dateAsString(this, pattern) +} + +fun Date?.toDateEMd(): String { + val pattern = "EEE, MMM dd" + return dateAsString(this, pattern) +} + +fun Date?.toDateEMYShort(): String { + val pattern = "EEE, MMM YY" + return dateAsString(this, pattern) +} + +fun Date?.toDateEMY(): String { + val pattern = "EEEE, MMMM YYYY" + return dateAsString(this, pattern) +} \ No newline at end of file diff --git a/simpledate/src/main/kotlin/com/parassidhu/simpledate/DateTime.kt b/simpledate/src/main/kotlin/com/parassidhu/simpledate/DateTime.kt new file mode 100644 index 0000000..54a988d --- /dev/null +++ b/simpledate/src/main/kotlin/com/parassidhu/simpledate/DateTime.kt @@ -0,0 +1,72 @@ +@file:JvmMultifileClass +@file:JvmName("SimpleDate") + +package com.parassidhu.simpledate + +import java.util.* + +fun Date?.toDateTimeStandard(): String { + val pattern = "dd MMMM yyyy HH:mm:ss" + + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeStandardIn12Hours(): String { + val pattern = "dd MMMM yyyy h:mm:ss a" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeStandardInDigits(): String { + val pattern = "dd-MM-yyyy HH:mm:ss" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeStandardInDigitsAnd12Hours(): String { + val pattern = "dd-MM-yyyy h:mm:ss a" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeStandardConcise(): String { + val pattern = "dd MMM yyyy HH:mm:ss" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeStandardConciseIn12Hours(): String { + val pattern = "dd MMM yyyy h:mm:ss a" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeYY(): String { + val pattern = "dd MMMM yy HH:mm:ss" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeYYIn12Hours(): String { + val pattern = "dd MMMM yy h:mm:ss a" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeYYInDigits(): String { + val pattern = "dd-MM-yy HH:mm:ss" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeYYInDigitsAnd12Hours(): String { + val pattern = "dd-MM-yy h:mm:ss a" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeYYConcise(): String { + val pattern = "dd MMM yy HH:mm:ss" + return dateAsString(this, pattern) +} + +fun Date?.toDateTimeYYConciseIn12Hours(): String { + val pattern = "dd MMM yy h:mm:ss a" + return dateAsString(this, pattern) +} + +fun Date?.toZuluFormat(): String { + val pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" + return dateAsString(this, pattern) +} \ No newline at end of file diff --git a/simpledate/src/main/kotlin/com/parassidhu/simpledate/Day.kt b/simpledate/src/main/kotlin/com/parassidhu/simpledate/Day.kt new file mode 100644 index 0000000..4931827 --- /dev/null +++ b/simpledate/src/main/kotlin/com/parassidhu/simpledate/Day.kt @@ -0,0 +1,11 @@ +@file:JvmMultifileClass +@file:JvmName("SimpleDate") + +package com.parassidhu.simpledate + +import java.util.* + +fun Date?.toDay(): String { + val pattern = "EEEE" + return dateAsString(this, pattern) +} \ No newline at end of file diff --git a/simpledate/src/main/kotlin/com/parassidhu/simpledate/SimpleDate.kt b/simpledate/src/main/kotlin/com/parassidhu/simpledate/SimpleDate.kt new file mode 100644 index 0000000..4d84fb5 --- /dev/null +++ b/simpledate/src/main/kotlin/com/parassidhu/simpledate/SimpleDate.kt @@ -0,0 +1,17 @@ +@file:JvmMultifileClass +@file:JvmName("SimpleDate") + +package com.parassidhu.simpledate + +import java.text.SimpleDateFormat +import java.util.* + +private lateinit var simpleDateFormat: SimpleDateFormat + +internal fun dateAsString(date: Date?, pattern: String): String { + simpleDateFormat = SimpleDateFormat(pattern, Locale.getDefault()) + if (date != null) + return simpleDateFormat.format(date) + else + throw NullPointerException("Date can't be null") +} diff --git a/simpledate/src/main/kotlin/com/parassidhu/simpledate/Time.kt b/simpledate/src/main/kotlin/com/parassidhu/simpledate/Time.kt new file mode 100644 index 0000000..7df0a22 --- /dev/null +++ b/simpledate/src/main/kotlin/com/parassidhu/simpledate/Time.kt @@ -0,0 +1,26 @@ +@file:JvmMultifileClass +@file:JvmName("SimpleDate") + +package com.parassidhu.simpledate + +import java.util.* + +fun Date?.toTimeStandard(): String { + val pattern = "HH:mm:ss" + return dateAsString(this, pattern) +} + +fun Date?.toTimeStandardWithoutSeconds(): String { + val pattern = "HH:mm" + return dateAsString(this, pattern) +} + +fun Date?.toTimeStandardIn12Hours(): String { + val pattern = "h:mm:ss a" + return dateAsString(this, pattern) +} + +fun Date?.toTimeStandardIn12HoursWithoutSeconds(): String { + val pattern = "h:mm a" + return dateAsString(this, pattern) +} \ No newline at end of file