web-dev-qa-db-fra.com

Kotlin convertit TimeStamp en DateTime

J'essaie de savoir comment convertir timestamp en datetime en Kotlin, c'est très simple en Java, mais je ne trouve aucun équivalent dans Kotlin.

Par exemple: Horodatage d'époque (secondes depuis 1070-01-01) 1510500494 ==> objet DateTime 2017-11-12 03:28:14.

Y a-t-il une solution à cela dans Kotlin ou dois-je utiliser la syntaxe Java dans Kotlin? Donnez-moi s'il vous plaît un exemple simple pour montrer comment je peux résoudre ce problème. Merci d'avance.

ce lien n'est pas une réponse à ma question

3
DolDurma
private fun getDateTime(s: String): String? {
    try {
        val sdf = SimpleDateFormat("MM/dd/yyyy")
        val netDate = Date(Long.parseLong(s))
        return sdf.format(netDate)
    } catch (e: Exception) {
        return e.toString()
    }
}
6
arjun shrestha

En fait, c'est comme Java. Essaye ça:

val stamp = Timestamp(System.currentTimeMillis())
val date = Date(stamp.getTime())
println(date)
4

Bien que ce soit Kotlin, vous devez toujours utiliser l'API Java. Un exemple pour les API Java 8+ convertissant la valeur 1510500494 que vous avez mentionnée dans la question commente:

import Java.time.*

val dt = Instant.ofEpochSecond(1510500494).atZone(ZoneId.systemDefault()).toLocalDateTime()
2
t0r0X
  fun stringtoDate(dates: String): Date {
        val sdf = SimpleDateFormat("EEE, MMM dd yyyy",
                Locale.ENGLISH)
        var date: Date? = null
        try {
             date = sdf.parse(dates)
            println(date)
        } catch (e: ParseException) {
            e.printStackTrace()
        }
        return date!!
    }
0
Umesh Maharjan