91 votes

Comment obtenir la date et l'heure locales actuelles en Kotlin ?

Comment obtenir la date actuelle (jour, mois et année) et l'heure (heure, minutes et secondes) en heure locale en Kotlin ?

J'ai essayé à travers LocalDateTime.now() mais je reçois une erreur disant Call requires API Level 26 (curr min is 21) .

Comment obtenir l'heure et la date en Kotlin ?

3 votes

Pour les niveaux d'API inférieurs à 26, il suffit d'ajouter la bibliothèque ThreeTenABP à votre projet, importez org.threeten.bp.LocalDateTime et ensuite faire comme vous avez essayé : LocalDateTime.now(yourTimeZone) (Je recommande de spécifier le fuseau horaire, mais si vous ne le faites pas, vous obtiendrez le paramètre de fuseau horaire de la JVM). Pour en savoir plus, consultez cette question : Comment utiliser ThreeTenABP dans un projet Android ? .

0 votes

Vérifiez ce lien pour votre solution nécessaire : stackoverflow.com/questions/3747490/

4voto

Joolah Points 4617

Pour obtenir la date actuelle en Kotlin, faites ceci :

val dateNow = Calendar.getInstance().time

1voto

Arsalan Shah Points 21

Vérifiez ces extensions Kotlin faciles à utiliser pour le format de date

fun String.getStringDate(initialFormat: String, requiredFormat: String, locale: Locale = Locale.getDefault()): String {
    return this.toDate(initialFormat, locale).toString(requiredFormat, locale)
}

fun String.toDate(format: String, locale: Locale = Locale.getDefault()): Date = SimpleDateFormat(format, locale).parse(this)

fun Date.toString(format: String, locale: Locale = Locale.getDefault()): String {
    val formatter = SimpleDateFormat(format, locale)
    return formatter.format(this)
}

1voto

pavel Points 332

Vous pouvez utiliser cette fonction

fun getCurrentDate():String{
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS")
return sdf.format(Date())
}

-2voto

Sebastian Points 31

Une autre solution consiste à changer le niveau d'api de votre projet dans build.gradle et cela fonctionnera.

0 votes

Ce n'est pas la meilleure suggestion car il y a des implications à cela et cela peut être hors du contrôle du développeur.

-3voto

Nguyễn Tý Points 1

J'utilise ceci pour récupérer les données de l'API toutes les 20 secondes.

 private fun isFetchNeeded(savedAt: Long): Boolean {
        return savedAt + 20000 < System.currentTimeMillis()
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X