Dates, Times, and Formatting
Parse Dates
Split a fixed ISO-style date string into numeric parts.
parse-dates
Parsing turns text into separate fields that code can validate or display.
Parse Dates
ParseDates.kt
Replay: real traced execution (multi-file project)
fun main() {
val input = "2026-04-15"
val parts = input.split("-")
val year = parts[0].toInt()
val month = parts[1].toInt()
val day = parts[2].toInt()
println("input=$input")
println("year=$year")
println("month=$month")
println("day=$day")
}
fun main() {
val input = "2025-01-03"
val parts = input.split("-")
val year = parts[0].toInt()
val month = parts[1].toInt()
val day = parts[2].toInt()
println("input=$input")
println("year=$year")
println("month=$month")
println("day=$day")
}
fun main() {
val input = "2027-12-20"
val parts = input.split("-")
val year = parts[0].toInt()
val month = parts[1].toInt()
val day = parts[2].toInt()
println("input=$input")
println("year=$year")
println("month=$month")
println("day=$day")
}
input ← 2026-04-15, parts ← [2026, 04, 15], year ← 2026, month ← 4
1fun main() {2 val input→ 2026-04-15 = "2026-04-15" //@input="2025-01-03", "2027-12-20"3 val parts→ [2026, 04, 15] = input2026-04-15.split("-")4 val year→ 2026 = parts[0]2026.toInt()5 val month→ 4 = parts[1]04.toInt()6 val day→ 15 = parts[2]15.toInt()78 println("input=$input2026-04-15")9 println("year=$year2026")10 println("month=$month4")11 println("day=$day15")12}outputinput=2026-04-15 year=2026 month=4 day=15
input ← 2025-01-03, parts ← [2025, 01, 03], year ← 2025, month ← 1
1fun main() {2 val input→ 2025-01-03 = "2025-01-03"3 val parts→ [2025, 01, 03] = input2025-01-03.split("-")4 val year→ 2025 = parts[0]2025.toInt()5 val month→ 1 = parts[1]01.toInt()6 val day→ 3 = parts[2]03.toInt()78 println("input=$input2025-01-03")9 println("year=$year2025")10 println("month=$month1")11 println("day=$day3")12}outputinput=2025-01-03 year=2025 month=1 day=3
input ← 2027-12-20, parts ← [2027, 12, 20], year ← 2027, month ← 12
1fun main() {2 val input→ 2027-12-20 = "2027-12-20"3 val parts→ [2027, 12, 20] = input2027-12-20.split("-")4 val year→ 2027 = parts[0]2027.toInt()5 val month→ 12 = parts[1]12.toInt()6 val day→ 20 = parts[2]20.toInt()78 println("input=$input2027-12-20")9 println("year=$year2027")10 println("month=$month12")11 println("day=$day20")12}outputinput=2027-12-20 year=2027 month=12 day=20