【问题标题】:Compare timestamp with actual time (Java)将时间戳与实际时间进行比较(Java)
【发布时间】:2013-01-12 10:34:50
【问题描述】:

我有一个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;
}

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

【问题讨论】:

    标签: java date timestamp


    【解决方案1】:

    你只需要

    return expiration_time.before(new Date());
    

    因为TimestampDate 的子类

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

    【讨论】:

      【解决方案2】:

      只需使用此代码:

      public boolean isAuctionExpired() {
          return expiration_time.getTime() <= System.currentTimeMillis();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-02
        • 1970-01-01
        • 2015-05-08
        • 1970-01-01
        • 1970-01-01
        • 2019-05-23
        相关资源
        最近更新 更多