0

首先,我知道这是比较日期的不好方法,但我不明白如何评估字符串以包含两个值之间的数据。例如,在这段代码中,我如何不仅列出在 tdate 1 和 2 发生的交易,而且还列出它们之间的交易。

tdate 信息设置为 11/07/2013

      System.out.println("Start Date: ");
      tdate = in.next();
      System.out.println("End Date: ");
      tdate2 = in.next();

      transactionSet trr = new transactionSet(); 

      for(int idx = 0; idx < ts.getNumTrans(); idx++){

        t = ts.retrieve(idx);
        if (t.getTdate().equals(tdate) || t.getTdate().equals(tdate2)){
         trr.insert(t);      
        }
      }
4

1 回答 1

2
SimpleDateFormat format = new SimpleDateFormat("d/M/yyyy");  // If this is the right format
Date first = format.parse(tdate);
Date second = format.parse(tdate2);
Date toCheck = format.parse(someDate);
if (toCheck.after(first) && toCheck.before(second)){
    // ...
}

您可能希望在 try/catch 块中执行此操作,以防输入的日期格式不正确。

于 2013-11-07T19:44:45.520 回答