2013-09-05 3 views
0

Итак, я хочу сравнить время и после быстрого поиска Google и чтения через API, я не нашел никаких решений. Итак, вот моя ситуация.
Скажем, у меня есть Time t, и это установлено на определенное время. Я хочу добавить 2 минуты до этого времени t =+ 2 minutes. Тогда Time current будет установлено на текущее время, и я хочу использовать Time.compare(Time,Time), поэтому проверьте, больше или меньше t, чем current. Пока это только псевдокод, и я не знаю, как добавить 2 минуты к переменной Time. Если есть другие варианты, которые будут работать, предложите их тоже :)Добавление двух раз вместе

+0

DDI вы пытаетесь Joda ?? Может быть, это решит вашу проблему. – ASP

+0

Joda? Извините, я не слышал об этом, получил ссылку? – Nick

+1

http://www.joda.org/joda-time/ – ASP

ответ

1

узнать это для сравнения даты

Date date = new Date(98, 5, 21); 
    Date date2 = new Date(99, 1, 9); 

    // make 3 comparisons with them 
    int comparison = date.compareTo(date2); 
    int comparison2 = date2.compareTo(date); 
    int comparison3 = date.compareTo(date); 

    // print the results 
    System.out.println("Comparison Result:" + comparison); 
    System.out.println("Comparison2 Result:" + comparison2); 
    System.out.println("Comparison3 Result:" + comparison3); 

Сравнение Результат: -1

Comparison2 Результат: 1

Comparison3 Результат: 0

для добавления минут

Date jamBanding = new Date(); 
Calendar cal = Calendar.getInstance(); 
cal.setTimeInMillis(jamBanding.getTime()); 

cal.add(cal.MINUTE, 2) 

jamBanding = cal.getTime(); //here is the date now + 2 minute 
+0

Принято, поскольку это был самый полный ответ :) – Nick

1

Используйте библиотеку Date4j, это поможет решить вашу проблему с помощью простого api.

0

Попробуйте

String myTime = "02:50"; 
SimpleDateFormat df = new SimpleDateFormat("HH:mm"); 
Date d = null; 
try { 
    d = df.parse(myTime); 
    } catch (ParseException e) { 
    } 
Calendar cal = Calendar.getInstance(); 
cal.setTime(d); 
cal.add(Calendar.MINUTE,10); 
String newTime = df.format(cal.getTime()); 
System.out.println("New Time : " + newTime); 
0

Попробуйте этот метод

public boolean isTimeGreaterThenCurrent(Time t) { 
     long timeGiven = ((t.hour*60)*60) + (t.minute*60) + (t.second); 
     long timeCurrent=0; 
     Calendar c = Calendar.getInstance(); 
     timeCurrent = ((c.get(Calendar.HOUR_OF_DAY)*60)*60) + (c.get(Calendar.MINUTE)*60) + (c.get(Calendar.SECOND)); 

     if(timeGiven>timeCurrent){ 
      return true; 
     }else{ 
      return false; 
     } 

    }