Как определить правильную переменную Day for Date - PullRequest
0 голосов
/ 19 января 2012

Есть два раза, таких как "startTime" = 23:57 и "endTime" = 00:50. Как я могу определить, что startTime относится ко дню, предшествующему "endTime"?

   Date min = date("23:57");
   Date max = date("00:50");

   private static Date date(final String time) {
     final Calendar calendar = Calendar.getInstance();
     String[] hm = time.split(":");
     int hour = Integer.parseInt(hm[0]);
     int minute = Integer.parseInt(hm[1]);
     calendar.set(Calendar.HOUR,hour);
     calendar.set(Calendar.MINUTE,minute);
     final Date result = calendar.getTime();
     return result;
   }

1 Ответ

2 голосов
/ 19 января 2012

вы можете добавить токен некоторого вида, например +, в конец вашего времени:

Date max = date("00:50+");

и при разборе времени:

if time.endsWith("+") {
    calendar.add(Calendar.HOUR, 24);
}

если вам нужнообрабатывать периоды более 24 часов, которые вы можете использовать +1, +2 и т. д.

...