Java 使用Joda time进行时间计算?
我被这项任务困住了。我想在当前时间中添加不同的小时或分钟。因此,用户按下按钮,Java 使用Joda time进行时间计算?,java,android,jodatime,Java,Android,Jodatime,我被这项任务困住了。我想在当前时间中添加不同的小时或分钟。因此,用户按下按钮,onClick将提取当前时间,然后添加我决定的小时数和分钟数。目前我有两个小时的加减时间,但我希望能够加减大约2小时和14分钟 以下是我到目前为止的情况: public void onClickHere (View v) { LocalTime localtime = new LocalTime(); LocalTime dt = new LocalTime(localtime.getHourOfDa
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);
}
现在,上面的代码实现了我想要的部分功能。它获取localtime并向其中添加两个小时。然而,它显示了很多额外的数字。秒和毫秒
有没有办法让我只显示时间和分钟
通过调用getHourOfDay()
和getMinuteOfHour()
它只提取小时和分钟,但仍显示秒和分钟的00.000
因此,如果我现在按下按钮,它将显示10:58:00.000
。我想展示的是10:58
最终能够增加分钟,但我认为这是另一个问题,一个更简单的问题,我可以简单地从已经知道如何增加两个小时的例子
希望我已经解释得足够清楚。您需要使用,例如:
DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
Text1.setText("Time: " + twoHoursLater.toString(formatter));
注意:
DateTimeFormatter
是线程安全的,因此您可以将其定义为一个私有最终静态
变量,并重用它,而不是每次调用onClickHere
时都创建一个实例。奇怪,因为我确实研究过这个问题。我想我把它放错地方了,因为我被强行关闭了。(我把它放在Localtime()位之上)。当然当时我认为这是正确的。非常感谢,它工作得很好。我会接受你的回答。