0

在有点问题。我有一个 onClick ,单击它会获取当前时间并添加一定数量的小时和分钟。下面的代码是我所拥有的,它当前将数据发送到另一个 Activity 并显示它,但它不会改变时间。

public void onClickHere (View v) {

    String ti1me, ti2me, ti3me;

    //carry out calculation
    LocalTime localtime = new LocalTime();
    LocalTime dt = new LocalTime(localtime);

        //Add two hours and subtract 10 minutes
        LocalTime twoHoursLater = dt.plusHours(2);
                  twoHoursLater = dt.minusMinutes(10);

        //Add three hours and 9 minutes
        LocalTime threeHoursLater = dt.plusHours(3);
                  threeHoursLater = dt.plusMinutes(9);

        //Add five hours and subtract 8 minutes
        LocalTime fiveHoursLater = dt.plusHours(5);
                  fiveHoursLater = dt.minusMinutes(8);


    DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
    ti1me = (twoHoursLater.toString(formatter));
    ti2me = (threeHoursLater.toString(formatter));
    ti3me = (fiveHoursLater.toString(formatter));

    Intent i = new Intent(this, WakeUpMain.class);
    i.putExtra("time1", ti1me);
    i.putExtra("time2", ti2me);
    i.putExtra("time3", ti3me);
    startActivity(i);

}

正如你所看到的,我试图获得三倍,并为两者添加不同的分钟和小时,分钟添加很好,但小时与当前时间保持一致,或者根据分钟的添加方式以及它是否进入下一个小时。

我输入这个是 11:22,如果我运行应用程序并单击按钮,输出是: 11:
11
11:31
11:14

时间不变。有没有办法解决这个问题?小时仅在例如时间为 11:05 时更改,第一次将显示为 10:55。

将不胜感激任何帮助。真的让我很困惑。

4

1 回答 1

1

当您添加分钟时,您会刷新小时增量:

twoHoursLater = dt.minusMinutes(10);

采用

LocalTime twoHoursLater = dt.minusMinutes(10);
    twoHoursLater = twoHoursLater.plusHours(2);
于 2013-01-15T11:36:48.400 回答