有点问题。我有一个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。
非常感谢任何帮助。真让我困惑。
答案 0 :(得分:1)
当您添加分钟时,您需要清空小时数:
twoHoursLater = dt.minusMinutes(10);
使用
LocalTime twoHoursLater = dt.minusMinutes(10);
twoHoursLater = twoHoursLater.plusHours(2);