Een datum converteren naar een string

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:32

Diepere 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

  • DateTimeFormatter JavaDoc voor al je patroonbehoeften: DateTimeFormatter
  • Als je nostalgisch bent of voorbeelden nodig hebt voor legacy-systemen, hier is de inside informatie over SimpleDateFormat: SimpleDateFormat