Kotlin:
Een datum converteren naar een string
Hoe te:
In Kotlin kun je een Date naar een String converteren met behulp van de SimpleDateFormat klasse. Laten we wat code schrijven:
import java.text.SimpleDateFormat
import java.util.Date
fun main() {
val date = Date() // Maak een Date object voor de huidige tijd
val format = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") // Definieer het datumformaat
val dateString = format.format(date) // Converteer Date naar String
println(dateString) // Output de datumstring
}Een voorbeelduitvoer kan er zo uitzien:
2023-03-25 14:45:32Diepere duik
Voordat java.time op de scene kwam, was SimpleDateFormat dé manier voor datum-string transformaties in Java en, bij overerving, in Kotlin. Ja, Kotlin draait op de Java Virtual Machine en werkt comfortabel met Java bibliotheken.
Met Java 8 kwam echter java.time in beeld, met de DateTimeFormatter die een veel meer verfijnde API bracht. Dit was een game-changer, die veiligere, onveranderlijke en thread-safe datum-tijd manipulatie bood. De native ondersteuning van Kotlin hiervoor is naadloos:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
fun main() {
val currentDate = LocalDateTime.now() // Haal de huidige datum en tijd op
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val formattedDate = currentDate.format(formatter)
println(formattedDate)
}Alternatieven? Zeker. Voor niet-standaard vereisten of het jongleren tussen meerdere datum bibliotheken, waren opties van derden zoals Joda-Time vroeger de gouden standaard. Tegenwoordig dekt java.time de meeste bases.
Wat implementatiedetails betreft, SimpleDateFormat is niet thread-safe, wat betekent dat het kan struikelen wanneer het wordt gebruikt in gelijktijdige settings. DateTimeFormatter heeft dat probleem niet. Maak één keer aan, gebruik voor altijd - of in ieder geval gedurende je applicatie zonder veel zorgen.
Zie ook
DateTimeFormatterJavaDoc voor al je patroonbehoeften: DateTimeFormatter- Als je nostalgisch bent of voorbeelden nodig hebt voor legacy-systemen, hier is de inside informatie over
SimpleDateFormat: SimpleDateFormat