我正在尝试检查我的用户是否应该年满 18 岁。如果不是,则举杯 toast 。 (试图从今天的确切日期获取)。但结果是每年都取得成功。
输出 - 正在计算年份。
预期 - 从今天开始,用户应年满 18 岁。
这是我尝试过的。
val calendar = Calendar.getInstance()
val year = calendar.get(Calendar.YEAR)
val month = calendar.get(Calendar.MONTH)
val day = calendar.get(Calendar.DAY_OF_MONTH)
val dpd = DatePickerDialog(this, DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth ->
calendar.set(Calendar.YEAR, year)
calendar.set(Calendar.MONTH, monthOfYear)
calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth)
val sdf = SimpleDateFormat(myFormat, Locale.US)
val dob = sdf.format(calendar.time)
val userAge = GregorianCalendar(year, month, day)
val minAdultAge = GregorianCalendar()
minAdultAge.add(Calendar.YEAR, -18)
minAdultAge.add(Calendar.MONTH, -1)
if (minAdultAge.before(userAge)) {
Toast.makeText(this, getString(R.string.txt_18_years_age_validation), Toast.LENGTH_SHORT).show()
} else {
etDob!!.setText(dob)
}
}, year, month, day
)
dpd.datePicker.maxDate = Calendar.getInstance().timeInMillis
dpd.show()
需要进行哪些修改才能获得今天日期的验证。
谢谢你。
最佳答案
尝试将 minAdultAge 和 DOB 转换为毫秒进行比较
minAdultAge.timeInMillis > dob.timeInMillis
关于java - 使用日期选择器 android 从今天开始检查用户是否超过 18 年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58968755/