我坚持这个任务。我想在当前时间添加不同的小时或分钟。因此,用户按下按钮,onClick
将拉出当前时间,然后添加我决定的许多小时和分钟。目前我已经添加了两个小时,但我希望能够在2 hours
和14 minutes
周围添加和减少。
这是我到目前为止所做的:
public void onClickHere (View v) {
LocalTime localtime = new LocalTime();
LocalTime dt = new LocalTime(localtime.getHourOfDay(), localtime.getMinuteOfHour());
LocalTime twoHoursLater = dt.plusHours(2);
Text1.setText("Time: " + twoHoursLater);
}
现在上面的代码实现了我想要的一部分。它获得了本地时间并增加了两个小时。然而,它显示了很多额外的数字。秒和&毫秒。
我有办法只显示小时和分钟吗?
通过拨打getHourOfDay()
和getMinuteOfHour()
,它只会提取小时和分钟,但仍会显示00.000
秒和分钟。
因此,如果我现在按下按钮,它将显示10:58:00.000
。我想要展示的是10:58
。
并且最终可以添加分钟,但我认为这是另一个问题,一个更简单的问题,我可以简单地从已经知道如何添加两个小时的示例。
希望我已经解释得这么好了。
答案 0 :(得分:3)
您需要使用DateTimeFormatter,例如:
DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
Text1.setText("Time: " + twoHoursLater.toString(formatter));
注意:DateTimeFormatter
是线程安全的,因此您可以将其定义为private final static
变量,并在每次调用onClickHere
时重复使用它而不是创建一个实例。