应用程序在使用日期时间选择器时崩溃 - MonthOfYear 的无效值(有效值 1 - 12):0

App crashes on using DateTime picker - Invalid value for MonthOfYear (valid values 1 - 12): 0

我一直在为我的基于 Kotlin 的 android 应用程序使用 DateTime 选择器而没有任何问题,直到我注意到在使用 DateTime 选择器时应用程序崩溃。在进一步的测试中,我发现它主要是在 1 月份崩溃,并突出显示以下错误。我尝试从 Java 1.8 移动到 1.7 但后来我失去了应用程序中的其他功能......关于如何解决这个问题的任何建议?这似乎是一个已知问题,但我找不到 cause/proper 解决方案

应用程序在从日历中获取 YearMonth 时崩溃

            val currentMonth = YearMonth.of(
                calendar.get(java.util.Calendar.YEAR),
                calendar.get(java.util.Calendar.MONTH)
            )

Fatal Exception: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0
   at java.time.temporal.ValueRange.checkValidValue(ValueRange.java:311)
   at java.time.temporal.ChronoField.checkValidValue(ChronoField.java:730)
   at java.time.YearMonth.of(YearMonth.java:221)
   at in.latom.latom.MainActivity.onCreate$lambda-11$lambda-10(MainActivity.kt:505)
   at in.latom.latom.MainActivity.$r8$lambda$fB3ERyY00fXDUSdrgD0tpQQiN-Y()
   at in.latom.latom.MainActivity$$ExternalSyntheticLambda11.onDateSet(:8)
   at android.app.DatePickerDialog.onClick(DatePickerDialog.java:173)
   at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:188)
   at android.os.Handler.dispatchMessage(Handler.java:106)
   at android.os.Looper.loop(Looper.java:246)
   at android.app.ActivityThread.main(ActivityThread.java:8595)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

我会使用 LocalDateTime。例如val month = LocalDateTime.now().getMonth()val month = LocalDateTime.now().getMonthValue() 其中 returns 月份作为从 1 到 12 的整数

参考:https://developer.android.com/reference/kotlin/java/time/LocalDateTime