Android Material DatePicker 中的日期错误

Ele*_*ode 5 android date datepicker material-design materialdatepicker

我正在尝试从 DatePicker 获取所选日期,但总是比所选日期少一天

例如,如果我选择 14/2/2022,我将获得 13/2/2022,如果我选择 8/10/2018,我将获得 7/10/2018

这是我的代码:

private fun DatePickerSelected() {
    val picker = MaterialDatePicker.Builder.datePicker()
        .setTitleText("Select date of birth")
        .setSelection(MaterialDatePicker.todayInUtcMilliseconds())
        .build()

    picker.addOnPositiveButtonClickListener {
        val date = Date(picker.selection!!)
        Log.d("Date",date.toString())
        val dateString = SimpleDateFormat("dd/MM/yyyy").format(date)
        binding.edtBirthday.editText?.setText(dateString)
    }

    picker.show(requireActivity().supportFragmentManager, "BirthdayPicker")
}
Run Code Online (Sandbox Code Playgroud)

到底是哪一个问题呢?谢谢!

Ele*_*ode 1

我使用日历找到了解决方案

picker.addOnPositiveButtonClickListener {
        val utc = Calendar.getInstance(TimeZone.getTimeZone("UTC"))
        utc.timeInMillis = it
        //+1: The first month of the year in the Gregorian and Julian calendars is JANUARY which is 0
        val stringData = "${utc.get(Calendar.DAY_OF_MONTH)}/${utc.get(Calendar.MONTH)+1}/${utc.get(Calendar.YEAR)}"
        binding.edtBirthday.editText?.setText(stringData)
    }
Run Code Online (Sandbox Code Playgroud)