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)
到底是哪一个问题呢?谢谢!
我使用日历找到了解决方案
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)