0

所以我想比较时间,在快速谷歌搜索和阅读 API 之后,我没有找到任何解决方案。所以这是我的情况。
说我有Time t,这是设置为某个时间。我想在这个时间加上 2 分钟t =+ 2 minutes。然后Time current将设置为当前时间,我想使用Time.compare(Time,Time)so检查是否t大于或小于current时间。到目前为止,这只是伪代码,我不知道如何将 2 分钟添加到 Time 变量中。如果还有其他可行的选项也可以提出建议:)

4

4 回答 4

1

使用Date4j库,这将使用简单的 api 解决您的问题。

于 2013-09-05T10:02:11.070 回答
1

学习这个以进行日期比较

  Date date = new Date(98, 5, 21);
  Date date2 = new Date(99, 1, 9);

  // make 3 comparisons with them
  int comparison = date.compareTo(date2);
  int comparison2 = date2.compareTo(date);
  int comparison3 = date.compareTo(date);

  // print the results
  System.out.println("Comparison Result:" + comparison);
  System.out.println("Comparison2 Result:" + comparison2);
  System.out.println("Comparison3 Result:" + comparison3);

比较结果:-1

比较2 结果:1

比较3 结果:0

添加分钟

Date jamBanding = new Date();
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(jamBanding.getTime());

cal.add(cal.MINUTE, 2)

jamBanding = cal.getTime(); //here is the date now + 2 minute
于 2013-09-05T10:03:07.050 回答
0

尝试这个

String myTime = "02:50";
SimpleDateFormat df = new SimpleDateFormat("HH:mm");
Date d = null;
try {
    d = df.parse(myTime);
    } catch (ParseException e) {
    }
Calendar cal = Calendar.getInstance();
cal.setTime(d);
cal.add(Calendar.MINUTE,10);
String newTime = df.format(cal.getTime());
System.out.println("New Time : " + newTime);
于 2013-09-05T10:05:42.973 回答
0

试试这个方法

public boolean isTimeGreaterThenCurrent(Time t) {
        long timeGiven = ((t.hour*60)*60) + (t.minute*60) + (t.second);
        long timeCurrent=0;
        Calendar c = Calendar.getInstance();
        timeCurrent = ((c.get(Calendar.HOUR_OF_DAY)*60)*60) + (c.get(Calendar.MINUTE)*60) + (c.get(Calendar.SECOND));

        if(timeGiven>timeCurrent){
            return true;
        }else{
            return false;
        }

    }
于 2013-09-05T10:07:29.503 回答