Dans la plupart des applications que nous construisons, la date et l'heure est une fonctionnalité que nous avons tendance à utiliser. Les options standard offertes par java.util fonctionnent bien mais elles ne sont pas tout à fait efficaces et pour quelque chose d'aussi basique, elles ont tendance à nécessiter beaucoup de solutions personnalisées. Cela introduit des possibilités d'erreurs car nous ajoutons beaucoup de code passe-partout dans notre projet. Mais il existe des solutions qui ont déjà été mises en œuvre et que nous pouvons facilement intégrer dans nos applications. Elles ont tendance à faire le travail pour nous en utilisant une seule ligne de code.

Par exemple, avec ces bibliothèques, vous serez en mesure d'effectuer facilement les opérations suivantes :

  • Obtenir la date d'aujourd'hui, d'hier, etc.
  • Obtenir la date dans 2 ans ou dans le passé.
  • Ajouter un certain nombre à une date donnée, etc.

Vous faites tout cela avec une seule ligne de code. Examinons les bibliothèques :

(a). Tempo

Kotlin intuitive java.util.Date extensions.

Le moyen le plus simple de travailler avec la date et l'heure. Grâce à Tempo, vous pouvez :

  1. Obtenir et initialiser la date et l'heure.
  2. Comparer des dates.
  3. Ajouter/Soustraire des dates.
  4. afficher la date d'une manière conviviale, comme en anglais.
  5. Analyser et formater les dates, etc.

Étape 1 : Installer Tempo

dependencies {
  implementation 'com.github.cesarferreira:tempo:0.7.0'
}

Etape 2 : Utiliser Tempo

Voici des exemples d'utilisation de Tempo en Kotlin :

val now: Date = Tempo.now               //=> now
now + 1.week                            //=> next week
now - 2.days                            //=> day before yesterday
now + (3.weeks - 4.days + 5.hours)      //=> somewhere in 2 and a half weeks

Tempo.tomorrow                          //=> tomorrow
Tempo.yesterday                         //=> yesterday
1.day.ago                               //=> yesterday
3.weeks.ago                             //=> 3 weeks ago
5.years.forward                         //=> five years in the future

Initialiser en spécifiant les composants de la date.

Tempo.with(year = 1990, month = 1, day = 21)    //=> 1990/01/21
Tempo.with(year = 2019, month = 6, day = 26, hour = 18, minute = 58, second = 31, millisecond = 777)

Initialiser en modifiant les composants de la date

Tempo.now.with(month = 12, day = 25)    //=> this year's christmas
Date().with(month = 12, day = 25)       //=> this year's christmas

// shortcuts
Tempo.now.beginningOfYear     //=> new year's day
Tempo.now.endOfYear           //=> new year's eve

Vérifier le jour de la semaine / les propriétés

Tempo.now.isMonday
Tempo.now.isTuesday
Tempo.now.isWednesday
Tempo.now.isThursday
Tempo.now.isFriday
Tempo.now.isSaturday
Tempo.now.isSunday
Tempo.now.isWeekend
Tempo.now.isWeekday

Tempo.now.isToday                       // true
Tempo.tomorrow.isToday                  // false
Tempo.tomorrow.isTomorrow               // true
Tempo.yesterday.isYesterday             // true

Formatage et analyse syntaxique

Voici comment formater et analyser les dates à l'aide de Tempo :

5.minutes.forward.toString("yyyy-MM-dd HH:mm:ss")
//=> "2019-06-11 12:05:00"

"1988-03-02".toDate("yyyy-MM-dd")
//=> Tempo.with(year = 1988, month = 3, day = 2)

Comparer des dates

Voici comment vous comparez des dates en kotlin en utilisant Tempo :

1.day.ago > 2.days.ago                  // true
1.day.ago in 2.days.ago..Tempo.now      // true

Référence

Trouvez la référence complète ici.

Kotlin Android DateTime - La façon la plus simple de travailler avec la date et l'heure

Regardons un exemple complet de Tempo. Cet exemple vous apprendra tout ce que Tempo a à offrir.

Étape 1 : Installer Tempo

Installez Tempo comme nous l'avons vu ci-dessus.

Nous allons également activer ViewBinding au niveau de l'application build.gradle :

   buildFeatures {
        viewBinding true
    }

ViewBinding va nous permettre de référencer facilement les widgets dans notre code kotlin.

Étape 2 : Créer une mise en page

Notre layout aura une listview qui rendra nos résultats à l'utilisateur.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</androidx.constraintlayout.widget.ConstraintLayout>

Créer MainActivity

MainActivity est notre seule activité dans le projet. Elle est slef explicative :

MainActivity.kt

package info.camposha.mr_tempo_datetime

import android.os.Bundle
import android.widget.ArrayAdapter
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.cesarferreira.tempo.*
import info.camposha.mr_tempo_datetime.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    private fun createDateExamples(): List<String> {
        val examples = listOf(
            "------   GET DATE,TIME   ----",
            "NOW: ${Tempo.now}",
            "INITIALIZATION: ${Tempo.with(year = 1990, month = 1, day = 21)}",
            "INITIALIZATION: ${Tempo.now.with(month = 12, day = 25)}",
            "",
            "-------  USER FRIENDLY READABLE DATES   -------",
            "TOMORROW: ${Tempo.tomorrow}",
            "YESTERDAY: ${Tempo.yesterday}",
            "",
            "-------  ADD OR SUBTRACT DATES   --------",
            "1 WEEK FROM NOW: " + (Tempo.now.plus(1.week)),
            "1 WEEK AGO: " + Tempo.now.minus(1.week),
            "2 DAYS AGO: " + Tempo.now.minus(2.days),
            "",
            "------   TIME AGO  ---------",
            "A DAY AGO: ${1.day.ago}",
            "3 WEEKS AGO: ${3.weeks.ago}",
            "5 YEARS FORWARD: ${5.years.forward}",
            "",
            "-------  SHORTCUTS   -----",
            "NEW YEAR: ${Tempo.now.beginningOfYear}",
            "END OF YEAR: ${Tempo.now.endOfYear}",
            "----CHECK DATE-----",
            "IS MONDAY: ${Tempo.now.isMonday}",
            "IS TUESDAY: ${Tempo.now.isTuesday}",
            "IS WEDNESDAY: ${Tempo.now.isWednesday}",
            "IS THURSDAY: ${Tempo.now.isThursday}",
            "IS FRIDAY: ${Tempo.now.isFriday}",
            "IS SATURDAY: ${Tempo.now.isSaturday}",
            "IS SUNDAY: ${Tempo.now.isSunday}",
            "IS WEEKEND: ${Tempo.now.isWeekend}",
            "IS WEEKDAY: ${Tempo.now.isWeekday}",
            "",
            "------  FORMAT AND PARSE  ------",
            "${5.minutes.forward.toString("yyyy-MM-dd HH:mm:ss")}",
            "${"1988-03-02".toDate("yyyy-MM-dd")}",
            "",
            "------  COMPARE  -------",
            "${1.day.ago > 2.days.ago}",
            "${1.day.ago in 2.days.ago..Tempo.now}"

        )
        return examples
    }

    private fun populateListView(data: List<String>) {
        binding.listView.adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, data)
        binding.listView.setOnItemClickListener { _, _, i, _ ->
            Toast.makeText(this@MainActivity,data[i],Toast.LENGTH_SHORT).show()
         }
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        populateListView(createDateExamples())
    }
}

Exécuter

Exécutez le code dans android studio et vous obtiendrez ce qui suit :

Android DateTime Example

Télécharger

Téléchargez le code source ici.

(b). Karamba

Une collection d'extensions Kotlin utiles pour Android.

ICI

Karamba n'est pas seulement une bibliothèque de date, c'est en fait une bibliothèque d'utilitaires mais elle possède des fonctions de date faciles à utiliser ainsi que des fonctionnalités couramment utilisées dans le développement Android.

Étape 1 : Installation

Ajouter à gradle dans allprojects.

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

puis ajouter ceci

implementation 'com.github.matteocrippa:karamba:1.2.0'

Étape 2 : Comment utiliser Karamba

Karamba vous fournit une liste d'extensions différentes et utiles pour votre projet, ici la liste organisée par le type étendu.

Général

  • support(apiVersion), lambda qui vous permet d'exécuter le code seulement si le SDK actuel est à jour avec celui spécifié
  • supportKitkat(), lambda qui vérifie si kitkat est supporté et exécute le code.
  • supportLollipop(), lambda qui vérifie si lollipop est supporté et exécute le code.

Bitmap

  • base64(), produit une représentation base64 du bitmap actuel
  • resize(height, width), redimensionne le bitmap actuel au nouveau format

Booléen

  • toggle(), manipule le booléen comme un toogle en changeant la valeur en une valeur opposée, puis la nouvelle valeur est retournée (pas encore possible de changer ceci)
  • random(), retourne une valeur booléenne aléatoire, puis la nouvelle valeur est retournée (pas encore possible de changer ceci)

Date

  • convertTo(format), convertit la date courante en un format personnalisé fourni en argument (par exemple, dd-MM-yy HH:mm)
  • toCalendar(), convertit la date courante en Calendar.
  • isFuture(), retourne vrai si la date est dans le futur.
  • isPast(), retourne vrai si la date est dans le passé
  • isToday(), indique si la date est aujourd'hui.
  • isTomorrow(), renvoie l'information si la date est demain.
  • isYesterday(), renvoie une information sur la date d'hier.
  • today(), renvoie la date d'aujourd'hui
  • tomorrow(), renvoie la date de demain.
  • yesterday(), renvoie la date d'hier.
  • hour(), renvoie l'heure de la date actuelle sous forme de nombre.
  • minute(), renvoie les minutes de la date actuelle sous forme de nombre.
  • second(), renvoie les secondes de la date actuelle sous forme de nombre.
  • month(), renvoie le mois de la date actuelle sous forme de nombre.
  • monthName(), Retourne le mois de la date courante sous forme de nom long.
  • year(), renvoie l'année de la date actuelle sous forme de nombre.
  • day(), renvoie le jour de la date actuelle sous forme de nombre.
  • dayOfWeek(), renvoie le jour de la semaine de la date courante sous forme de nombre.
  • dayOfWeekName(), retourne le jour de la semaine de la date courante sous forme de chaîne de caractères.
  • dayOfYear(), renvoie le jour de l'année à la date actuelle sous forme de nombre.

Double

  • localCurrency(currency), convertit le double actuel au format de la devise passée en argument (ex. EUR)
  • celsiusToFahrenheit(), convertit le double actuel en fahrenheit.
  • fahrenheitToCelsius(), convertit le double actuel en Celsius.

Dessinable

  • toBitmap(), convertit le dessinable actuel en Bitmap.

Int

  • readableDistanceFromMeters(), convertit un nombre entier de mètres en une distance lisible en kilomètres.
  • commaSeparatedId(), convertit un tableau d'int, en une chaîne d'éléments séparés par des virgules.
  • random(), fournit un nombre aléatoire dans l'intervalle fourni (par exemple (0..10).random())

Chaîne

  • isValidEmail(), retourne si la chaîne actuelle est un email valide
  • isUrl(), vérifie si la chaîne actuelle est une url valide.
  • isNumeric(), vérifie si la chaîne de caractères actuelle contient un nombre.
  • isPhoneNumber(), vérifie que la chaîne de caractères actuelle contient un numéro de téléphone.
  • random(lenght), renvoie une chaîne aléatoire d'une longueur donnée.
  • toBitmap(), convertit la chaîne de caractères en base64 en Bitmap.
  • ellipsize(chars), élabore la chaîne de caractères actuelle, en la tronquant au nombre de caractères défini.
  • toDate(format), convertit la chaîne courante en un objet Date en utilisant le format fourni.
  • plainText(), supprime tout le formatage html de la chaîne de caractères courante.
  • toCamelCase(), met la chaîne de caractères actuelle en casse camel.

Vue

  • toBitmap(), convertit la vue actuelle en Bitmap.

(c). SimpleDate

Bibliothèque Android/Kotlin pour formater la date et l'heure dans des formats courants.

Étape 1 : Installation

Dans le fichier build.gradle du projet :

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

Au niveau de l'application build.gradle :

dependencies {
     implementation 'com.github.sidhuparas:SimpleDate:2.1.0'
}

Étape 2 : Comment utiliser

Vous pouvez utiliser les méthodes sur un objet date. Voici les fonctions disponibles :

Pour la date et l'heure

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

Pour l'heure seulement

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

Pour la date seulement

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

Pour le jour seulement

date.toDay()                    // Tuesday

Exemples

Kotlin :

   val date = Date()
   println(date.toDateTimeStandard())
  • Java :

    Date date = new Date();
    System.out.println(SimpleDateKt.toDateTimeStandard(date));

Référence

Trouver la référence complète ici.

(d). DateTimeUtils

Etape 1 : Installation

La bibliothèque DateTimeUtils est disponible depuis JitPack.

Premièrement, ajoutez la ligne de dépendance de JitPack dans le fichier build.gradle de votre projet :

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

Et ensuite, ajoutez simplement la ligne suivante à la section dependencies du fichier build.gradle de votre module d'application :

implementation 'com.github.thunder413:DateTimeUtils:3.0'

Étape 2 : Utilisation

Utilisez DateTimeUtils. Voyons quelques exemples.

setTimeZone

setTimeZone vous permet de définir votre fuseau horaire par défaut c'est UTC.

DateTimeUtils.setTimeZone("UTC");

formatDate

formatDate est une méthode qui vous permet de convertir un date object en string ou un timeStamp en date et vice-versa.

Chaîne de date en objet date

// MySQL/SQLite dateTime example
Date date = DateTimeUtils.formatDate("2017-06-13 04:14:49");
// Or also with / separator
Date date = DateTimeUtils.formatDate("2017/06/13 04:14:49");
// MySQL/SQLite date example
Date date = DateTimeUtils.formatDate("2017-06-13");
// Or also with / separator
Date date = DateTimeUtils.formatDate("2017/06/13");

Objet date vers chaîne de date MySQL/SQLite

String date = DateTimeUtils.formatDate(new Date());

timeStamp vers objet Date

Par défaut, il va considérer le timeStamp donné en millisecondes, mais dans le cas où vous avez récupéré le timeStamp du serveur qui sera généralement en secondes fournir DateTimeUnits.SECONDS pour dire la fonction sur

// Using milliseconds
Date date = DateTimeUtils.formatDate(1497399731000);
// Using seconds (Server timeStamp)
Date date = DateTimeUtils.formatDate(1497399731,DateTimeUnits.SECONDS);

formatWithStyle

formatWithStyle permet d'analyser la date dans un format localisé en utilisant le style le plus courant.

Objet Date pour la date localisée

DateTimeUtils.formatWithStyle(new Date(), DateTimeStyle.FULL); // Tuesday, June 13, 2017
DateTimeUtils.formatWithStyle(new Date(), DateTimeStyle.LONG); // June 13, 2017
DateTimeUtils.formatWithStyle(new Date(), DateTimeStyle.MEDIUM); // Jun 13, 2017
DateTimeUtils.formatWithStyle(new Date(), DateTimeStyle.SHORT); // 06/13/17

Chaîne de date vers date localisée

DateTimeUtils.formatWithStyle("2017-06-13", DateTimeStyle.FULL); // Tuesday, June 13, 2017
DateTimeUtils.formatWithStyle("2017-06-13", DateTimeStyle.LONG); // June 13, 2017
DateTimeUtils.formatWithStyle("2017-06-13", DateTimeStyle.MEDIUM); // Jun 13, 2017
DateTimeUtils.formatWithStyle("2017-06-13", DateTimeStyle.SHORT); // 06/13/17

formatWithPattern

formatWithPattern permet de définir votre propre modèle d'analyse suivant le schéma SimpleDateFormat.

Chaîne de date comme source

DateTimeUtils.formatWithPattern("2017-06-13", "EEEE, MMMM dd, yyyy"); // Tuesday, June 13, 2017

Objet date comme source

DateTimeUtils.formatWithPattern(new Date(), "EEEE, MMMM dd, yyyy"); // Tuesday, June 13, 2017

isToday

isToday Dites si une date donnée est ou non la date du jour.

// Date object as source
boolean state = DateTimeUtils.isToday(new Date());
// Date String as source
boolean state = DateTimeUtils.isToday("2017-06-15 04:14:49");

isYesterday

isYesterday Indique si une date donnée est ou non la date d'hier.

// Date object as source
boolean state = DateTimeUtils.isYesterday(new Date());
// Date String as source
boolean state = DateTimeUtils.isYestrday("2017-06-15 04:14:49");

Obtenir la semaine précédente suivante

getPreviousWeekDate/getNextWeekDate Renvoie la date de la semaine suivante ou précédente à partir d'une date donnée il permet également de définir le jour de la semaine en utilisant la constante du calendrier.

// Date object as source
Date date = DateTimeUtils.getPreviousWeekDate(new Date(), Calendar.MONDAY);
// Date String as source
Date date = DateTimeUtils.getNextWeekDate("2017-06-15 04:14:49",Calendar.SUNDAY);

Obtenir le mois suivant précédent

getPreviousMonthDate/getNextMonthDate Renvoie la date du mois suivant ou précédent à partir d'une date donnée.

// Date object as source
Date date = DateTimeUtils.getNextMonthDate(new Date());
// Date String as source
Date date = DateTimeUtils.getPreviousMonthDate("2017-06-15 04:14:49");

getDateDiff

getDateDiff vous donner la différence entre deux date en jours, heures, minutes, secondes ou millisecondes DateTimeUnits.

// Dates can be date object or date string
Date date = new Date();
String date2 = "2017-06-13 04:14:49";
// Get difference in milliseconds
int diff = DateTimeUtils.getDateDiff(date,date2, DateTimeUnits.MILLISECONDS);
// Get difference in seconds
int diff = DateTimeUtils.getDateDiff(date,date2, DateTimeUnits.SECONDS);
// Get difference in minutes
int diff = DateTimeUtils.getDateDiff(date,date2, DateTimeUnits.MINUTES);
// Get difference in hours
int diff = DateTimeUtils.getDateDiff(date,date2, DateTimeUnits.HOURS);
// Get difference in days
int diff = DateTimeUtils.getDateDiff(date,date2, DateTimeUnits.DAYS);

getTimeAgo

getTimeAgo vous donne le temps écoulé depuis une date donnée, il offre aussi deux modes d'impression : la chaîne complète et la chaîne courte eg . 3 hours ago | 3h ago les chaînes sont localisées mais pour le moment seules les langues FR et EN sont disponibles. Si vous souhaitez que votre langue soit ajoutée, faites-le moi savoir 🙂

String timeAgo = DateTimeUtils.getTimeAgo(context,new Date()); // Full string style will be used
// Short string style
String timeAgo = DateTimeUtils.getTimeAgo(context,"new Date()",DateTimeStyle.AGO_SHORT_STRING );

formatTime

formatTime vous permet d'extraire l'heure de la date par défaut il n'affichera pas les heures s'il est égal à 0 mais vous pouvez fournir le paramètre forceShowHours pour forcer l'affichage des heures.

String time = DateTimeUtils.formatTime(new Date()); // 14:49 if hours equals 0 or 04:14:09 if hours witch is wrong when use it on time rather than a duration
// Solution >> force hours display
String time = DateTimeUtils.formatTime(new Date(),true);
// And you can also supplie a date string
String time = DateTimeUtils.formatTime("2017-06-13 04:14:49"); // 04:14:49

millisToTime

millisToTime est utile lorsque vous traitez avec la durée et que vous voulez afficher par exemple la durée du lecteur ou la position de lecture actuelle en valeur lisible par l'homme.

String time = DateTimeUtils.millisToTime(2515); // It take millis as an argument not seconds

timeToMillis

timeToMillis permet de convertir la chaîne time en millsecondes.

int milliseconds = DateTimeUtils.timeToMillis("14:20"); // 860000

Exemple

Voici un exemple complet :

MainActivity.java

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

import com.github.thunder413.datetimeutils.DateTimeStyle;
import com.github.thunder413.datetimeutils.DateTimeUnits;
import com.github.thunder413.datetimeutils.DateTimeUtils;

import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Date date = new Date();
        DateTimeUtils.setDebug(true);

        Log.d(TAG,"Date To String >> "+DateTimeUtils.formatDate(new Date()));
        DateTimeUtils.setTimeZone("GMT");
        Log.d(TAG,"Previous month from today >> "+DateTimeUtils.formatDate(DateTimeUtils.getPreviousMonthDate(new Date())));
        Log.d(TAG,"Next month from today >> "+DateTimeUtils.formatDate(DateTimeUtils.getNextMonthDate(new Date())));
        Log.d(TAG,"Previous >> "+DateTimeUtils.formatDate(DateTimeUtils.getPreviousWeekDate(DateTimeUtils.formatDate(" 2019-05-06 22:32:57"), Calendar.MONDAY)));
        Log.d(TAG,"String To Date >> "+DateTimeUtils.formatDate("2017-06-13 04:14:49"));
        Log.d(TAG,"IsToDay >> "+DateTimeUtils.isToday(new Date()));
        Log.d(TAG,"IsToDay String >> "+DateTimeUtils.isToday("2017-06-15 04:14:49"));
        Log.d(TAG,"IsYesterdaY Date >> "+DateTimeUtils.isYesterday(new Date()));
        Log.d(TAG,"IsYesterdaY String >> "+DateTimeUtils.isYesterday("2017-06-12 04:14:49"));
        Log.d(TAG,"TimeAgo String >> "+DateTimeUtils.getTimeAgo(this,"2017-06-13 04:14:49"));
        Log.d(TAG,"TimeAgo Date >> "+DateTimeUtils.getTimeAgo(this,date));
        Log.d(TAG,"Diff in milliseconds >> "+DateTimeUtils.getDateDiff(new Date(),DateTimeUtils.formatDate("2017-06-13 04:14:49"), DateTimeUnits.MILLISECONDS));
        Log.d(TAG,"Diff in seconds >> "+DateTimeUtils.getDateDiff(new Date(),DateTimeUtils.formatDate("2017-06-13 04:14:49"), DateTimeUnits.SECONDS));
        Log.d(TAG,"Diff in minutes >> "+DateTimeUtils.getDateDiff(new Date(),DateTimeUtils.formatDate("2017-06-13 04:14:49"), DateTimeUnits.MINUTES));
        Log.d(TAG,"Diff in hours >> "+DateTimeUtils.getDateDiff(new Date(),DateTimeUtils.formatDate("2017-06-13 04:14:49"), DateTimeUnits.HOURS));
        Log.d(TAG,"Diff in days >> "+DateTimeUtils.getDateDiff(new Date(),DateTimeUtils.formatDate("2017-06-13 04:14:49"), DateTimeUnits.DAYS));
        Log.d(TAG,"Extract time from date >> "+DateTimeUtils.formatTime(new Date()));
        Log.d(TAG,"Extract time from dateString >> "+DateTimeUtils.formatTime("2017-06-13 04:14:49"));
        Log.d(TAG,"Millis to time  >> "+DateTimeUtils.millisToTime(25416660));
        Log.d(TAG,"Time to millis  >> "+DateTimeUtils.timeToMillis("14:20"));
        Log.d(TAG,"Revert Millis to time  >> "+DateTimeUtils.millisToTime(860000));
        Log.d(TAG,"FormatWithStyle  FULL >> "+DateTimeUtils.formatWithStyle(new Date(), DateTimeStyle.FULL));
        Log.d(TAG,"FormatWithStyle  LONG >> "+DateTimeUtils.formatWithStyle(new Date(), DateTimeStyle.LONG));
        Log.d(TAG,"FormatWithStyle  MEDIUM >> "+DateTimeUtils.formatWithStyle(new Date(), DateTimeStyle.MEDIUM));
        Log.d(TAG,"FormatWithStyle  SHORT >> "+DateTimeUtils.formatWithStyle(new Date(), DateTimeStyle.SHORT));

    }

}

Référence

Les Javadocs sont disponibles ici.

Catégorisé: