【问题标题】:Date picker shows wrong month [duplicate]日期选择器显示错误的月份[重复]
【发布时间】:2020-07-26 15:10:48
【问题描述】:

大家可以告诉我如何才能获得我选择的正确月份数,无论我选择哪个月份,它总是在文本字段中显示少一个,例如,如果我选择 1997 年 1 月 1 日并按下好的,它会显示这样的日期:1/0/1997,请告诉我该怎么办

val c = Calendar.getInstance()
        c.add(Calendar.YEAR, -18)
        val year = c.get(Calendar.YEAR)
        val month = c.get(Calendar.MONTH)
        val day = c.get(Calendar.DAY_OF_MONTH)

        val abc = findViewById<Button>(R.id.birth)

        abc.setOnClickListener {

            val datePickerDialog = DatePickerDialog(
                this,
                DatePickerDialog.OnDateSetListener { view, year, month     , day ->
                    date.setText("" + day + "/" + month + "/" + year)
                },
                year,
                month,
                day
            )
            datePickerDialog.datePicker.maxDate = c.timeInMillis
            datePickerDialog.show()

        }
    }

【问题讨论】:

    标签: android kotlin datepicker


    【解决方案1】:

    坐骑从 0 开始计数。只需输入;

    val month = c.get(Calendar.MONTH) + 1
    

    【讨论】:

      【解决方案2】:

      挂载从零开始计数(如数组索引):

      • 一月 = 0
      • 二月 = 1
      • ....

      如果您创建一个包含正确顺序的挂载名称的数组,则日历中给出的挂载编号就是该数组的索引。

      你可以添加一个来获得真正的坐骑。

      【讨论】:

        猜你喜欢
        • 2017-05-30
        • 2015-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-24
        • 1970-01-01
        • 2015-02-26
        • 1970-01-01
        相关资源
        最近更新 更多