比较java中的两个时间戳

时间:2011-10-27 08:14:20

标签: java timestamp

我如何比较mytimefromtime之间的totime

Timestamp fromtime;
Timestamp totime;

Timestamp mytime;

9 个答案:

答案 0 :(得分:59)

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

答案 1 :(得分:14)

使用beforeafter方法:Javadoc

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

答案 2 :(得分:9)

来自: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对象       返回:           如果两个Timestamp对象相等,则值为0;如果此Timestamp对象在给定参数之前,则小于0的值;如果此Timestamp对象位于给定参数之后,则值大于0。       以来:           1.4

答案 3 :(得分:4)

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

答案 4 :(得分:1)

Timestamp的{​​{3}}和after方法可以解决这个问题

答案 5 :(得分:1)

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

为我工作

答案 6 :(得分:1)

您可以按如下方式对Timestamp进行排序:

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;
}

答案 7 :(得分:0)

所有这些解决方案都不适合我,尽管这是正确的思维方式。

以下适用于我:

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

在我尝试之前,我想到了&&和太

答案 8 :(得分:-2)

只需转换毫秒表示的时间戳即可。使用 getTime()方法。