как сравнить два времени в андроиде

Сравнение двух дней, но время не сравнивается. Этот код iS my

final String setdate = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(4))); final String settime = cursor.getString(cursor.getColumnIndex(cursor.getColumnName(5))); Calendar calendar1 = Calendar.getInstance(); SimpleDateFormat formatter1 = new SimpleDateFormat("dd/M/yyyy"); String currentDate = formatter1.format(calendar1.getTime()); Calendar calendar2 = Calendar.getInstance(); SimpleDateFormat formatter2 = new SimpleDateFormat("h:mm"); String currentTime = formatter2.format(calendar2.getTime()); if(currentDate.compareTo(setdate)>=0) { if(currentTime.compareTo(settime)>=0) { myCheckBox.setChecked(true); myCheckBox.setEnabled(false); } } 

как мне сравнить два раза. В базу данных дата и время поля разные, поэтому помогите мне PLZ

 Calendar calendar1 = Calendar.getInstance(); SimpleDateFormat formatter1 = new SimpleDateFormat("dd/M/yyyy h:mm"); String currentDate = formatter1.format(calendar1.getTime()); final String dateString = cursor.getString(4); final String timeString = cursor.getString(5); String datadb =dateString+" "+timeString; // Toast.makeText(context,"databse date:-"+datadb+"Current Date :-"+currentDate,Toast.LENGTH_LONG).show(); if(currentDate.compareTo(datadb)>=0) { myCheckBox.setChecked(true); myCheckBox.setEnabled(false); } 

Попробуй это:

 private boolean checktimings(String time, String endtime) { String pattern = "HH:mm"; SimpleDateFormat sdf = new SimpleDateFormat(pattern); try { Date date1 = sdf.parse(time); Date date2 = sdf.parse(endtime); if(date1.before(date2)) { return true; } else { return false; } } catch (ParseException e){ e.printStackTrace(); } return false; } 

Очень просто. Преобразуйте как значение time1, так и time2 в миллисекунду или минуту и ​​разницу в измерениях.

ИЛИ

Эта ссылка для функции может вам помочь. Удачи.

Я думаю, вы спрашиваете, как составить дату и время из двух отдельных полей даты и времени. Это довольно просто. Вы можете использовать свой SimpleDateFormat для этого:

  final String dateString = cursor.getString(4); final String timeString = cursor.getString(5); SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy h:mm"); Date dbDate = sdf.parse(dateString + " " + timeString); int compareToNow = new Date().compareTo(dbDate); 

В Java существует метод, который вы можете сравнить с двумя датами и временем

Для вас необходимо отформатировать дату и время в формате DATE в JAVA.

После этого используйте ниже код

 date1.compareTo(date2); 

Надежность выше кода поможет вам.

Дайте мне знать, если вам нужна дополнительная помощь с моей стороны.