目前,我的日期選擇器對話框有一個開始日期和一個結束日期。我試圖找出開始日期和結束日期之間的天數差異。并確保結束日期不會不在較早的日期
/* Calendar Start Date Button Click */
startdatepicker = findViewById(R.id.CalendarStartImage)
startdateview = findViewById(R.id.StartDateTextView)
val startCalendar = Calendar.getInstance()
val startPicker = DatePickerDialog.OnDateSetListener{ view, year, month,dayOfMonth ->
startCalendar.set(Calendar.YEAR,year)
startCalendar.set(Calendar.MONTH,month)
startCalendar.set(Calendar.DAY_OF_MONTH,dayOfMonth)
updateStartCalendar(startCalendar)
}
startdatepicker.setOnClickListener{
val dialog = DatePickerDialog(this,startPicker, startCalendar.get(Calendar.YEAR), startCalendar.get(Calendar.MONTH), startCalendar.get(Calendar.DAY_OF_MONTH))
// dialog.datePicker.minDate = startCalendar.getTimeInMillis()
dialog.datePicker.minDate = (System.currentTimeMillis()-1000)
dialog.show()
}
/* Calendar End Date Button Click */
enddatepicker = findViewById(R.id.CalendarEndImage)
enddateview = findViewById(R.id.EndDateTextView)
val endCalendar = Calendar.getInstance()
val endPicker = DatePickerDialog.OnDateSetListener{ view, year, month,dayOfMonth ->
endCalendar.set(Calendar.YEAR,year)
endCalendar.set(Calendar.MONTH,month)
endCalendar.set(Calendar.DAY_OF_MONTH,dayOfMonth)
// DatePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
updateEndCalendar(endCalendar)
}
enddatepicker.setOnClickListener{
val dialog = DatePickerDialog(this,
endPicker,
endCalendar.get(Calendar.YEAR),
endCalendar.get(Calendar.MONTH),
endCalendar.get(Calendar.DAY_OF_MONTH))
// dialog.datePicker.minDate = startCalendar.getTimeInMillis()
dialog.datePicker.minDate = (System.currentTimeMillis()-1000)
dialog.show()
}
}
private fun updateStartCalendar(startCalendar: Calendar){
val myformat = "MM-dd-yyyy"
val mydateformat = SimpleDateFormat(myformat,Locale.ENGLISH)
startdateview.text=(mydateformat.format(startCalendar.time))
}
private fun updateEndCalendar(endCalendar: Calendar){
val myformat = "MM-dd-yyyy"
val mydateformat = SimpleDateFormat(myformat,Locale.ENGLISH)
Log.d("check", endCalendar.time.toString())
enddateview.text=(mydateformat.format(endCalendar.time))
}
uj5u.com熱心網友回復:
要檢查兩個日歷日期之間的時差,您可以使用:
val duration = Duration.between(startCalendar, endCalendar)
val durationDays = duration.inWholeDays()
您還可以使用以下方法檢查它是否為負數:
if(duration.isNegative){
//do something
} else{
//do something else
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/450068.html
