在实际的时间之后设置新的时间

时间:2018-01-26 13:58:48

标签: java date time

我试图创建一个打印的方法,例如实际到达时间(现在),然后打印我要设置的出发时间加上第一个出发时间3分钟。

public void updateTimes(){
    SimpleDateFormat sdf = new SimpleDateFormat("H:mm");
    this.arrivalTime = new Date();
    this.departureTime = this.arrivalTime.plusMinutes(3);
}

出发时间不按预期工作。 欢迎任何帮助。

3 个答案:

答案 0 :(得分:3)

java.util.Date没有plusMinutes

如果使用带有java.time库的Java 8,可能会更好:

LocalTime arrivalTime = LocalTime.now();//Current time
LocalTime departureTime = arrivalTime.plusMinutes(3);//plus 3 minutes to the time

//Then you can format the time
String result = departureTime.format(DateTimeFormatter.ofPattern("H:mm"));

答案 1 :(得分:0)

使用日历的另一种解决方案如下:

Calendar cal = Calendar.getInstance();
cal.setTime(arrivalTime); // only if different from "now"
cal.add(Calendar.MINUTE, 3);
departureTime = cal.getTime();

答案 2 :(得分:0)

我认为你可以做下面的事情:

    SimpleDateFormat sdf = new SimpleDateFormat("H:mm");
    Date date = new Date();

    System.out.println("arrival time = " + sdf.format(date));

    int min = date.getMinutes();
    date.setMinutes(min+3);

    System.out.println("departure time = " + sdf.format(date));