Analisando uma data a partir de uma string

Kotlin:
Analisando uma data a partir de uma string

Como Fazer:

Kotlin suporta a análise de datas através do pacote java.time, introduzido no Java 8. Aqui está uma abordagem simples usando LocalDateTime e um padrão específico:

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

fun parseDateFromString(dateString: String): LocalDateTime {
    val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
    return LocalDateTime.parse(dateString, formatter)
}

fun main() {
    val dateString = "2023-04-01 12:00:00"
    val date = parseDateFromString(dateString)
    println(date)  // Saída: 2023-04-01T12:00
}

Para mais flexibilidade, ou para lidar com datas de fontes externas como APIs, você poderia usar uma biblioteca de terceiros, como Joda-Time (embora seja menos comum agora com java.time sendo robusto). No entanto, para a maioria das aplicações Kotlin, é preferível seguir a abordagem moderna fornecida pelo JDK.

Para analisar uma data em Kotlin sem usar bibliotecas de terceiros, você também pode utilizar a classe SimpleDateFormat para versões anteriores ao Java 8 ou níveis de API do Android que não suportam java.time:

import java.text.SimpleDateFormat

fun parseDateUsingSimpleDateFormat(dateString: String): java.util.Date {
    val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
    return formatter.parse(dateString)
}

fun main() {
    val dateString = "2023-04-01 12:00:00"
    val date = parseDateUsingSimpleDateFormat(dateString)
    println(date)  // A saída variará com base no seu fuso horário, por exemplo, Sat Apr 01 12:00:00 GMT 2023
}

Lembre-se de sempre definir o fuso horário ao trabalhar com SimpleDateFormat para evitar deslocamentos inesperados nas datas analisadas.