如何为Date变量定义正确的Day

时间:2012-01-18 23:41:38

标签: java datetime date

有两次,例如“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 个答案:

答案 0 :(得分:2)

你可以追加某种类型的代币,比如+到你的时间结束:

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

并在分析时间时:

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

如果您需要处理超过24小时的时段,则可以使用+1+2等。