Convertendo uma data em uma string

Kotlin:
Convertendo uma data em uma string

Como fazer:

import java.text.SimpleDateFormat
import java.util.Date

fun main() {
    val agora = Date()
    val formato = SimpleDateFormat("dd/MM/yyyy HH:mm:ss")
    val dataComoString = formato.format(agora)
    println(dataComoString) // Exemplo de saída: 30/03/2023 16:45:12
}

Mergulho Profundo

Historicamente, a manipulação de datas no Java, herdada pelo Kotlin, era feita com classes como java.util.Date e java.text.SimpleDateFormat. Com a introdução do Java 8, surgiram as classes java.time, proporcionando uma API mais robusta e com melhor tratamento de zonas horárias. No Kotlin, além das APIs do Java, existem alternativas de uso mais idiomatico como o Kotlinx-datetime para lidar com datas e horas.

A escolha entre usar o antigo SimpleDateFormat ou a nova java.time.format.DateTimeFormatter depende do contexto e da mínima versão da JVM que você planeja suportar. Em aplicações Android, por exemplo, java.time é seguro de usar a partir do Android API level 26 ou superior, a menos que você utilize o desugaring das Java Time APIs oferecidas pelo Android Studio.

Implementação com DateTimeFormatter:

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

fun main() {
    val agora = LocalDateTime.now()
    val formato = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss")
    val dataComoString = agora.format(formato)
    println(dataComoString) // Exemplo de saída: 30/03/2023 16:45:12
}

Veja Também