fun dateWork() { try { // Create and show the picker val builder = MaterialDatePicker.Builder.dateRangePicker() val constraintsBuilder = CalendarConstraints.Builder() constraintsBuilder.setValidator( DateValidatorPointBackward.now() // Only past dates ) builder.setTitleText("Select Date Range") builder.setCalendarConstraints(constraintsBuilder.build()) builder.setSelection( Pair( MaterialDatePicker.thisMonthInUtcMilliseconds(), MaterialDatePicker.todayInUtcMilliseconds() ) ) val picker = builder.build() picker.addOnPositiveButtonClickListener { selection -> val startDate = selection.first val endDate = selection.second // Convert timestamps (Long) to readable dates val sdf = java.text.SimpleDateFormat("dd/MM/yyyy", java.util.Locale.getDefault()) val start = sdf.format(java.util.Date(startDate)) val end = sdf.format(java.util.Date(endDate)) // Example: update UI binding.orderDate.text = "Selected: $start - $end" } binding.orderDate.setOnClickListener { picker.show(supportFragmentManager, picker.toString()) } } catch (e: Exception) { e.printStackTrace() } } import androidx.core.util.Pair import com.google.android.material.datepicker.MaterialDatePicker