Подтвердить что ты не робот

Сравните две метки времени в java

Как я могу сравнить, если mytime находится между fromtime и totime:

Timestamp fromtime;
Timestamp totime;

Timestamp mytime;
4b9b3361

Ответ 1

if(mytime.after(fromtime) && mytime.before(totime))
  //mytime is in between

Ответ 2

Используйте методы before и after: Javadoc

if (mytime.after(fromtime) && mytime.before(totime))

Ответ 3

От: http://download.oracle.com/javase/6/docs/api/java/sql/Timestamp.html#compareTo(java.sql.Timestamp)

public int compareTo(Timestamp ts)

Сравнивает объект Timestamp с данным объектом Timestamp.     Параметры:         ts - объект Timestamp, который будет сравниваться с объектом Timestamp     Возвращает:         значение 0, если два объекта Timestamp равны; значение меньше 0, если этот объект Timestamp находится перед данным аргументом; и значение больше 0, если этот объект Timestamp находится после данного аргумента.     Поскольку:         1.4

Ответ 4

if (!mytime.before(fromtime) && !mytime.after(totime))

Ответ 5

Есть after и before методы для Timestamp, которые сделают трюк

Ответ 6

java.util.Date mytime = null;
if (mytime.after(now) && mytime.before(last_download_time) )

Работал для меня

Ответ 7

Вы можете сортировать временную метку следующим образом:

public int compare(Timestamp t1, Timestamp t2) {

    long l1 = t1.getTime();
    long l2 = t2.getTime();
    if (l2 > l1)
    return 1;
    else if (l1 > l2)
    return -1;
    else
    return 0;
}

Ответ 8

Все эти решения не работают для меня, хотя правильный способ мышления.

Для меня работает следующее:

if(mytime.isAfter(fromtime) || mytime.isBefore(totime) 
    // mytime is between fromtime and totime

Прежде чем я попытался, я подумал о вашем решении с помощью && тоже

Ответ 9

Просто преобразуйте метку времени в представление миллисекунда. Используйте метод getTime().