do c говорит, что month int: the selected month (0-11 for compatibility with Calendar#MONTH)
, так что да, это желаемое поведение, и чтобы отформатировать его до удобочитаемого человеком, вы должны добавить 1, я полагаю.
А для форматирования строки вы должны вероятно, вручную объедините данные, которые у вас есть
val date = "$year-${month+1}-$day"
(самый быстрый способ для меня, но вы можете выбрать более красивый)
В качестве альтернативы вы можете сделать:
val date = LocalDate(year, monthOfYear + 1, dayOfMonth).toString("yyyy-MM-dd")