Locale určuje jazyk a krajinu, ktoré aplikácia používa napríklad pri formátovaní mien, čísel alebo názvov mesiacov. Pre Slovensko použijeme Locale("sk", "SK").
import java.util.Locale
fun main() {
val slovensko = Locale("sk", "SK")
val anglicko = Locale.US
println(slovensko.displayCountry) // Slovensko
println(anglicko.displayLanguage) // English
}
Pre prácu s dátumami a časom používame moderné API java.time. Trieda LocalDate reprezentuje dátum bez času a časového pásma.
import java.time.LocalDate
fun main() {
val dnes = LocalDate.now()
val datum = LocalDate.of(2026, 8, 12)
println(dnes)
println(datum) // 2026-08-12
}
Predvolený zápis dátumu je rok-mesiac-deň. Vlastný formát vytvoríme pomocou DateTimeFormatter. Pri slovenskom názve mesiaca nastavíme aj Locale.
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.Locale
fun main() {
val datum = LocalDate.of(2026, 8, 12)
val format = DateTimeFormatter.ofPattern("d. MMMM yyyy", Locale("sk", "SK"))
println(datum.format(format)) // 12. augusta 2026
}
Dátum môžeme aj načítať z textu, ak poznáme jeho formát:
import java.time.LocalDate
import java.time.format.DateTimeFormatter
fun main() {
val format = DateTimeFormatter.ofPattern("d.M.yyyy")
val datum = LocalDate.parse("12.8.2026", format)
println(datum.year) // 2026
println(datum.month) // AUGUST
println(datum.dayOfMonth) // 12
}
K dátumu môžeme pripočítať alebo odpočítať dni, mesiace a roky. Pre dátum aj čas použijeme LocalDateTime.
import java.time.LocalDate
import java.time.LocalDateTime
fun main() {
val dnes = LocalDate.now()
println(dnes.plusDays(7))
println(dnes.minusMonths(1))
val teraz = LocalDateTime.now()
println(teraz.plusHours(2))
}
Pri dátumoch nepoužívaj staré triedy
DateaCalendar. V novom Kotlin/JVM kóde uprednostnijava.time.
Vytvor dátum svojich najbližších narodenín pomocou LocalDate.of. Vypíš ho vo formáte d. MMMM yyyy so slovenským Locale.
Načítaj dátum vo formáte d.M.yyyy, spracuj ho cez LocalDate.parse a vypíš, aký deň v týždni tento dátum pripadá.
Načítaj dátum začiatku dovolenky a počet dní. Pomocou plusDays vypočítaj a vypíš dátum jej posledného dňa.