Это может быть аналогичный вопрос, который я нашел в StackOverFlow. Но у меня немного другая ситуация, чем у всех. В моей базе данных у меня есть дата и время начала. Я хочу, чтобы система сравнивала дату и время отдельно, потому что дата и время запуска находятся в отдельных столбцах в базе данных. Сначала система сравнивает дату, а затем время. Другое действие должно открываться только в том случае, если дата такая же, а время до 15 минут - время начала в базе данных. Я сделал это до сих пор;Сравните Системную дату и время отдельно от базы данных дата и время, чтобы начать другую деятельность
private void startTraining() {
Calendar calendar1 = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("MM-dd-yyy");
String currentDate = formatter.format(calendar1.getTime());
System.out.println(currentDate);
Calendar calendar2 = Calendar.getInstance();
SimpleDateFormat formatter2 = new SimpleDateFormat("hh:mm");
String currentTime = formatter2.format(calendar2.getTime());
System.out.println(currentTime);
String trainingStartDate = SharedMemory.getInstance()
.getCurrentTraining().getDate();
String trainingStartTime = SharedMemory.getInstance()
.getCurrentTraining().getStartTime();
int difference = trainingStartTime.compareTo(currentTime);
System.out.println(difference);
//System.out.println(trainingStartTime);
if (currentDate.toString().equals(trainingStartDate)&& difference < 15) {
Log.i("Debug", "CHECKPOINT");
Intent intent = new Intent(getApplicationContext(),
TraineeListActivity.class);
MainActivity.this.startActivity(intent);
finish();
} else{
}
}
Я не получаю результат, которого ожидаю. Заранее спасибо.
пожалуйста разместим ваш полный код ... а также журнал кот ... это помогает лучше понять ошибку –
Вы использовали 'String.compareTo()', который не является правильным для этого случая. Лучший способ - конвертировать оба в «Календарь» и выполнять манипуляции с ними. –
Здесь нет никаких ошибок. Здесь код работает, чтобы сравнить дату, а не время. Другое мероприятие открывается в ту же дату, но не в точное время, за исключением того, что я за исключением – bShah