Skip to content

Android/Kotlin Library To Format Date & Time Into Common Formats

License

Notifications You must be signed in to change notification settings

sidhuparas/SimpleDate

Repository files navigation

Introduction Say Thanks! License

SimpleDate is a Kotlin Library which helps you format the date as per your requirement.

Star ⭐ this repo to show your support and it really does matter! 👏

Getting Started

In project-level build.gradle:

allprojects {
   repositories {
      ...
      maven { url 'https://jitpack.io' }
    }
}

In app-level build.gradle:

dependencies {
     implementation 'com.github.sidhuparas:SimpleDate:<latest-version>'
}

Version 2.0+ Backward Incompatible

SimpleDate uses Kotlin Extension Functions since Version 2.0. This makes it incompatible with the older versions of the library. But thanks to extension functions, the API looks very clean on Kotlin as well as Java.

Usage

You can use the methods on a date object. Following are the available functions:

For Date and Time

date                                 
     .toDateTimeStandard()               // 13 August 2019 21:55:11
     .toDateTimeStandardIn12Hours()      // 13 August 2019 9:55:11 PM
     .toDateTimeStandardInDigits()       // 13-08-2019 21:55:11
     .toDateTimeStandardInDigitsAnd12Hours()     // 13-08-2019 9:55:11 PM
     .toDateTimeStandardConcise()                // 13 Aug 2019 21:55:11
     .toDateTimeStandardConciseIn12Hours()       // 13 Aug 2019 9:55:11 PM
     .toDateTimeYY()                     // 13 August 19 21:55:11
     .toDateTimeYYIn12Hours()            // 13 August 19 9:55:11 PM
     .toDateTimeYYInDigits()             // 13-08-19 21:55:11
     .toDateTimeYYInDigitsAnd12Hours()   // 13-08-19 9:55:11 PM
     .toDateTimeYYConcise()              // 13 Aug 19 21:55:11
     .toDateTimeYYConciseIn12Hours()     // 13 Aug 19 9:55:11 PM
     .toZuluFormat()                     // 2019-08-19T21:16:55:11.926Z                   

For Time Only

date
     .toTimeStandard()                           // 21:55:11
     .toTimeStandardWithoutSeconds()             // 21:55
     .toTimeStandardIn12Hours()                  // 9:55:11 PM
     .toTimeStandardIn12HoursWithoutSeconds()    // 9:55 PM

For Date Only

date
      .toDateStandard()               // 13 August 2019
      .toDateStandardConcise()        // 13 Aug 2019
      .toDateStandardInDigits()       // 13-08-2019
      .toDateYY()                     // 13 August 19
      .toDateYYConcise()              // 13 Aug 19
      .toDateYYInDigits()             // 13-08-19
      .toDateYMD()                    // 2019 August 13
      .toDateYMDConcise()             // 2019 Aug 13
      .toDateYMDInDigits()            // 2019-08-13
      .toDateEMd()                    // Tue, Aug 13
      .toDateEMYShort()               // Tue, Aug 19
      .toDateEMY()                    // Tuesday, August 2019

For Day Only

date.toDay()                    // Tuesday

Examples

  • Kotlin:
   val date = Date()
   println(date.toDateTimeStandard())
  • Java:
    Date date = new Date();
    System.out.println(SimpleDateKt.toDateTimeStandard(date));

Contributions

  • Fork the repo
  • Create a new branch and make changes
  • Push the code to the branch and make a PR! 👍

Special Thanks

  • to Mahima for testing out the early version and helping in bug fix 👏
  • to Sahil for suggesting the use of Kotlin Extension Functions ❤️