Format a fixed date with a numeric month and a short month label.

format-patterns Formatting chooses which date parts appear and how they are padded or labeled.

Format Patterns

month
FormatPatterns.kt
Replay: real traced execution (multi-file project)
fun twoDigits(value: Int): String {
    return value.toString().padStart(2, '0')
}

fun monthLabel(month: Int): String {
    if (month == 1) {
        return "Jan"
    }
    if (month == 12) {
        return "Dec"
    }
    return "Apr"
}

fun main() {
    val month = 4
    val day = 9
    val numeric = "2026-${twoDigits(month)}-${twoDigits(day)}"
    val label = "${monthLabel(month)} ${twoDigits(day)}, 2026"

    println("numeric=$numeric")
    println("label=$label")
}
fun twoDigits(value: Int): String {
    return value.toString().padStart(2, '0')
}

fun monthLabel(month: Int): String {
    if (month == 1) {
        return "Jan"
    }
    if (month == 12) {
        return "Dec"
    }
    return "Apr"
}

fun main() {
    val month = 1
    val day = 9
    val numeric = "2026-${twoDigits(month)}-${twoDigits(day)}"
    val label = "${monthLabel(month)} ${twoDigits(day)}, 2026"

    println("numeric=$numeric")
    println("label=$label")
}
fun twoDigits(value: Int): String {
    return value.toString().padStart(2, '0')
}

fun monthLabel(month: Int): String {
    if (month == 1) {
        return "Jan"
    }
    if (month == 12) {
        return "Dec"
    }
    return "Apr"
}

fun main() {
    val month = 12
    val day = 9
    val numeric = "2026-${twoDigits(month)}-${twoDigits(day)}"
    val label = "${monthLabel(month)} ${twoDigits(day)}, 2026"

    println("numeric=$numeric")
    println("label=$label")
}
  1. month ← 4, day ← 9

    15fun main() {16    val month→ 4 = 4 //@month=1, 1217    val day→ 9 = 918    val numeric = "2026-${twoDigits(month4)}-${twoDigits(day9)}"19    val label = "${monthLabel(month)} ${twoDigits(day)}, 2026"
  2. fun twoDigits(value: Int): String

    pass 1 of 3
    1fun twoDigits(value4: Int): String {2    return value4.toString().padStart(2, '0')3}
    All 3 passes — pass 1 is the card above
    passvalue
    14
    29
    39
  3. numeric ← 2026-04-09

    17val day = 918val numeric→ 2026-04-09 = "2026-${twoDigits(month4)}-${twoDigits(day9)}"19val label = "${monthLabel(month4)} ${twoDigits(day9)}, 2026"
  4. fun monthLabel(month: Int): String

    5fun monthLabel(month4: Int): String {6    if (month == 1) {7        return "Jan"8    }9    if (month == 12) {10        return "Dec"11    }12    return "Apr"13}
  5. label ← Apr 09, 2026

    18    val numeric = "2026-${twoDigits(month)}-${twoDigits(day)}"19    val label→ Apr 09, 2026 = "${monthLabel(month4)} ${twoDigits(day9)}, 2026"2021    println("numeric=$numeric2026-04-09")22    println("label=$labelApr 09, 2026")23}
    outputnumeric=2026-04-09
    label=Apr 09, 2026
  1. month ← 1, day ← 9

    15fun main() {16    val month→ 1 = 117    val day→ 9 = 918    val numeric = "2026-${twoDigits(month1)}-${twoDigits(day9)}"19    val label = "${monthLabel(month)} ${twoDigits(day)}, 2026"
  2. fun twoDigits(value: Int): String

    pass 1 of 3
    1fun twoDigits(value1: Int): String {2    return value1.toString().padStart(2, '0')3}
    All 3 passes — pass 1 is the card above
    passvalue
    11
    29
    39
  3. numeric ← 2026-01-09

    17val day = 918val numeric→ 2026-01-09 = "2026-${twoDigits(month1)}-${twoDigits(day9)}"19val label = "${monthLabel(month1)} ${twoDigits(day9)}, 2026"
  4. fun monthLabel(month: Int): String

    5fun monthLabel(month1: Int): String {6    if (month == 1) {
  5. if (month == 1)

    5fun monthLabel(month: Int): String {6    if (month1 == 1) {7        return "Jan"8    }
  6. label ← Jan 09, 2026

    18    val numeric = "2026-${twoDigits(month)}-${twoDigits(day)}"19    val label→ Jan 09, 2026 = "${monthLabel(month1)} ${twoDigits(day9)}, 2026"2021    println("numeric=$numeric2026-01-09")22    println("label=$labelJan 09, 2026")23}
    outputnumeric=2026-01-09
    label=Jan 09, 2026
  1. month ← 12, day ← 9

    15fun main() {16    val month→ 12 = 1217    val day→ 9 = 918    val numeric = "2026-${twoDigits(month12)}-${twoDigits(day9)}"19    val label = "${monthLabel(month)} ${twoDigits(day)}, 2026"
  2. fun twoDigits(value: Int): String

    pass 1 of 3
    1fun twoDigits(value12: Int): String {2    return value12.toString().padStart(2, '0')3}
    All 3 passes — pass 1 is the card above
    passvalue
    112
    29
    39
  3. numeric ← 2026-12-09

    17val day = 918val numeric→ 2026-12-09 = "2026-${twoDigits(month12)}-${twoDigits(day9)}"19val label = "${monthLabel(month12)} ${twoDigits(day9)}, 2026"
  4. fun monthLabel(month: Int): String

    5fun monthLabel(month12: Int): String {6    if (month == 1) {
  5. if (month == 12)

    8}9if (month12 == 12) {10    return "Dec"11}
  6. label ← Dec 09, 2026

    18    val numeric = "2026-${twoDigits(month)}-${twoDigits(day)}"19    val label→ Dec 09, 2026 = "${monthLabel(month12)} ${twoDigits(day9)}, 2026"2021    println("numeric=$numeric2026-12-09")22    println("label=$labelDec 09, 2026")23}
    outputnumeric=2026-12-09
    label=Dec 09, 2026