In my project I created an expect/actual for date/time formatting. My JS implementation uses
Date.toLocaleTimeString
and looks like this:
actual fun formatDateTime(date: LocalDateTime, locale: String): String =
jsFormatDateTime(date.year, date.monthNumber - 1, date.dayOfMonth, date.hour, date.minute, locale)
@Suppress("UNUSED_PARAMETER", "LongParameterList")
private fun jsFormatDateTime(yearArg: Int, monthArg: Int, dayArg: Int, hourArg: Int, minuteArg: Int, locale: String): String =
js(
"(new Date(yearArg, monthArg, dayArg, hourArg, minuteArg))" +
".toLocaleTimeString(locale, {year: 'numeric', month: 'short', day: '2-digit'});"
) as String