Проверка между двумя датами и временем, если они переданы в Java / Android - PullRequest
0 голосов
/ 30 мая 2018

У меня есть две строки даты и времени, одна - текущее время, а вторая - следующим образом.

String currentTime = "05/30/2018 16:56:21";
String endTime = "05/30/2018 16:59:21";

Теперь я хочу проверить, прошел ли endTime currentTime.

Спасибо

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

Преобразуйте обе строки в объект Date и затем используйте метод before (), чтобы проверить, прошло ли время окончания currentTime.

String currentTime = "05/30/2018 16:56:21";
String endTime = "05/30/2018 16:59:21"; 

    Date current=new SimpleDateFormat("dd/MM/yyyy").parse(currentTime);  
    Date end=new SimpleDateFormat("dd/MM/yyyy").parse(endTime); 

    if(end.before(current)) {
      // end time has passed currenctTime
    } else {
      // no
    }
0 голосов
/ 30 мая 2018

Сохраняйте оба значения в миллисекундах, что является длинным значением

long currentTime= System.currentTimeMillis();

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

String givenDateString = "Tue Apr 23 16:08:28 GMT+05:30 2013"; 
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
try {
    Date mDate = sdf.parse(givenDateString);
    long endTime= mDate.getTime();
    System.out.println("Date in milli :: " + endTime);
} catch (ParseException e) {
            e.printStackTrace();
}

Теперь сравните, если текущее времябольше, чем время окончания, поэтому текущее время прошло, как показано ниже.

if(currentTime>endTime){
//Do stuff
}

Наслаждайтесь ..

0 голосов
/ 30 мая 2018

Взгляните на это и это

Пример:

String currentTime = "05/30/2018 16:56:21";
String endTime = "05/30/2018 16:59:21";
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyyHH:mm:ss");

try {
    Date currentTimeDate = sdf.parse("05/30/2018 16:56:21");
    Date endTimeDate = sdf.parse("05/30/2018 16:59:21");
    currentTimeDate.compareTo(endTimeDate); // false / current time has not passed end time.
    endTimeDate.compareTo(currentTimeDate); // true / end time has passed current time.
} catch (ParseException ignored) {

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...