我有一個日期范圍選擇器(材料設計),我想禁用以前的日期(所以最短日期是當天),最長日期是 6 個月后。我試過這樣的事情:
val calendar = Calendar.getInstance()
val constraintsBuilderRange = CalendarConstraints.Builder()
val dateValidatorMin: CalendarConstraints.DateValidator = DateValidatorPointForward.from(calendar.timeInMillis)
val dateValidatorMax: CalendarConstraints.DateValidator = DateValidatorPointBackward.before(calendar.timeInMillis 100000000)
val listValidators = ArrayList<CalendarConstraints.DateValidator>()
listValidators.add(dateValidatorMin)
listValidators.add(dateValidatorMax)
val validators = CompositeDateValidator.allOf(listValidators)
constraintsBuilderRange.setValidator(validators)
val datePicker = MaterialDatePicker.Builder.dateRangePicker()
.setTitleText("Select range")
.setCalendarConstraints(constraintsBuilderRange.build())
.build()
datePicker.show(
this.requireFragmentManager(),"date_range_picker"
)
這有效,但我隨機給 100000000 給dateValidatorMax. 那么我怎樣才能以毫秒為單位實作 6 個月后呢?我怎樣才能在 currentDate 之前 1 天獲得dateValidatorMin?
uj5u.com熱心網友回復:
所以我通過 Kotlin 解決了這個問題,有一個非常簡單的方法:
val dateValidatorMin: CalendarConstraints.DateValidator = DateValidatorPointForward.from(calendar.timeInMillis - 1.days.toLong(
DurationUnit.MILLISECONDS))
val dateValidatorMax: CalendarConstraints.DateValidator = DateValidatorPointBackward.before(calendar.timeInMillis 180.days.toLong(
DurationUnit.MILLISECONDS))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/516709.html
標籤:科特林日期时间
上一篇:如何根據日期間隔拆分或剪切資料框
