DatePickerDialog 侦听器 - 月份为 0 [重复]

Posted

技术标签:

【中文标题】DatePickerDialog 侦听器 - 月份为 0 [重复]【英文标题】:DatePickerDialog listener - Month gets 0 [duplicate] 【发布时间】:2019-06-06 21:42:36 【问题描述】:

在 DatePickerDialog 上选择日期时,月份为 0。过去几周我使用了相同的代码。日期和年份工作正常。 我在互联网上搜索,一切似乎都是教程。

fun datePick (context: Context, textView: TextView)
    var calendar = Calendar.getInstance()

    var sday = calendar.get(android.icu.util.Calendar.DAY_OF_MONTH)
    var smonth = calendar.get(android.icu.util.Calendar.MONTH)
    var syear = calendar.get(android.icu.util.Calendar.YEAR)

    var listener =DatePickerDialog.OnDateSetListener  view, year, month, dayOfMonth ->
        sday = dayOfMonth
        smonth = month
        syear = year
        textView.text = "$sday/$month/$syear"  

    var dialog =DatePickerDialog(context,listener,syear,smonth,sday)
    dialog.show()

【问题讨论】:

您期望什么价值?请注意,月份是从零开始的;即,一月是 0,二月是 1,等等。 android calendar month begin at 0 的副本 【参考方案1】:

在 Java 的 Calendar 类中,月份用从零开始的索引表示(一月是 0,二月是 1.. 等等)。这种行为是意料之中的,您可以轻松地调整代码以适应这种行为。有关为什么月份从零开始的更多信息,请阅读this question 的答案。

请注意,ONLY MONTHS 有这种奇怪的索引样式。一周中的每一天以及一年中的每一天都可以正常工作。

我希望这会有所帮助.. 编码愉快!

【讨论】:

以上是关于DatePickerDialog 侦听器 - 月份为 0 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Android 使用 DatePickerDialog 显示时间

Android 使用 DatePickerDialog 显示时间

Android 使用 DatePickerDialog 显示时间

Android 使用 DatePickerDialog 显示时间

Android DatePicker仅更改为月份和年份

在android中获取月份和年份?