将时间戳与实际时间进行比较(Java)

And*_*rea 2 java timestamp date

我有时间Timestamp格式化,这是产品的到期时间,我必须检查此产品是否已过期.我能怎么做?

我试过这种方式,但实际上函数总是返回TRUE(我无法弄清楚为什么)

public boolean isAuctionExpired() {

    // expiration_time is setted before, is the expiration date of a product!

    Timestamp actualTimeStampDate = null;

    try {
        Date actual = new Date();
        actualTimeStampDate = new Timestamp(actual.getTime());
    } catch (Exception e) {
        System.out.println("Exception :" + e);
    }

    boolean expired = (expiration_time.getTime() < actualTimeStampDate.getTime());

    // Everything seems ok, except the boolean
    System.out.println("product exp: "+expiration_time+", actual: "+actualTimeStampDate+" expired? "+expired);

    return expired;
}
Run Code Online (Sandbox Code Playgroud)

我想我犯了一个愚蠢的错误,但我看不到它!

Mic*_*rdt 6

你应该需要的只是

return expiration_time.before(new Date());
Run Code Online (Sandbox Code Playgroud)

因为Timestamp是.的子类Date

如果它不起作用,那么它的价值有问题 expiration_time