Java сравнивание времени

272
12 октября 2017, 10:02

Такой вопрос: есть строка например 08:15-09:50(время начала и конец занятия) и есть текущее время(не строка а время полученое с Date) например 07:50, дак вот каким способом можно реализовать сравнивание времени то есть 07:50 < 08:15 или 07:50 == 08:15 или 07:50 > 08:15. То есть мне нужно проверять прошло ли время(со строки), равняется или еще не наступило по отношению к текущему времени.

Answer 1
  1. Разбить строку на даты.
  2. Получить из даты время в миллисекундах от 1.1.1970
  3. Сравнить с текущим.
String myDate = "08:15-09:50";
String[] myDates = myDate.split("-");
long myDateInMillisFirst = new SimpleDateFormat("HH:mm").format(myDates[0]);
long myDateInMillisSecond = new SimpleDateFormat("HH:mm").format(myDates[1]);
long currentSystemTimeInMillis = System.currentTimeMillis();
System.out.println("first>currentSystemTimeInMillis: " + myDateInMillisFirst > currentSystemTimeInMillis );
Answer 2

В языке Java имеется класс Time. Можно написать

System.out.println(Time.valueOf("07:50:00").before(Time.valueOf("08:50:00")

А также есть класс Date.

 String inputDate = "10/10/2011 07:50:00 AM";
    Date date1 = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a").parse(inputDate);    
    date1.compareTo(date2);
Answer 3

Читайте документацию : https://docs.oracle.com/javase/7/docs/api/java/util/Date.html

Date time1("MM:DD:YYYY:HH:MM:SS"), time2("MM:DD:YYYY:HH:MM:SS");
time1.after(time2); //bool
time1.before(time2); //bool
time1.compateTo(time2); //int (0,-1,1)

Советую использовать для времени класс Date или Time, а для даты GregorianCalendar. Таким образом ты разграничишь время и дату, чтобы можно было бы управлять видом даты, полезно для интернационализации.

READ ALSO
Найти совпадения в полях объектов

Найти совпадения в полях объектов

У меня есть List<Document> listOfDocuments = new ArrayList<>() объектов

182
Поиск по подстроке Hibernate

Поиск по подстроке Hibernate

Есть таблица c полем descriptionКак мне сделать поиск в таблице по этому полю так, чтоб выводились не только записи в которых description полностью совпадает...

278
Элемент вывода javafx

Элемент вывода javafx

Какой элемент нужно использовать для вывода информации пользователю? TextField использую в настоящее время, но он не подходит, так как позволяет...

207