Kotlin:
Analisi di una data da una stringa
Come fare:
Kotlin supporta l’analisi delle date tramite il pacchetto java.time
, introdotto in Java 8. Ecco un approccio semplice utilizzando LocalDateTime
e uno schema specifico:
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) // Output: 2023-04-01T12:00
}
Per maggiore flessibilità, o per gestire date provenienti da fonti esterne come le API, si potrebbe utilizzare una libreria di terze parti come Joda-Time (anche se è meno comune ora con java.time
che è robusto). Tuttavia, attenersi all’approccio moderno fornito dal JDK è preferito per la maggior parte delle applicazioni Kotlin.
Per analizzare una data in Kotlin senza utilizzare librerie di terze parti, è anche possibile utilizzare la classe SimpleDateFormat
per le versioni precedenti a Java 8 o i livelli API Android che non supportano 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) // L'output varierà in base al tuo fuso orario, ad es., Sab Apr 01 12:00:00 GMT 2023
}
Ricorda di impostare sempre il fuso orario se lavori con SimpleDateFormat
per evitare scostamenti imprevisti nelle date analizzate.