我被困在这个任务上。我想在当前时间上添加不同的小时或分钟。因此,用户按下一个按钮,onClick
将提取当前时间,然后添加我决定的小时数和分钟数。目前我让它加了两个小时,但我希望能够在 2 小时
和 14 分钟
左右加减。
这是我目前所拥有的:
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
。
最终能够增加分钟数,但我认为这是另一个问题,一个更简单的问题,我可以简单地以已经知道如何增加两个小时为例。
希望我已经解释得够清楚了。
最佳答案
您需要使用 DateTimeFormatter ,例如:
DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
Text1.setText("Time: " + twoHoursLater.toString(formatter));
注意:DateTimeFormatter
是线程安全的,因此您可以将它定义为一个private final static
变量并重用它,而不是每次都创建一个实例onClickHere
被调用。
关于java - 用 Joda-time 进行时间计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14315526/