日期选择器显示错误的月份[重复]

Posted

技术标签:

【中文标题】日期选择器显示错误的月份[重复]【英文标题】: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()

        
    

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

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

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

【讨论】:

以上是关于日期选择器显示错误的月份[重复]的主要内容,如果未能解决你的问题,请参考以下文章

android有月份选择器吗?或者怎么让日期选择器的日期不显示,只显示年份和月份

.NET WinForms 的月份选择器 [重复]

如何仅在月份、日期和年份中更改我的日期选择器显示

如何只用月份和年份字段显示android的日期选择器?

Bootstrap 日期选择器显示月份和年份菜单

如何仅显示月份和年份字段的 android 日期选择器?