用Joda-time进行时间计算?

时间:2013-01-14 09:02:53

标签: java android jodatime

我坚持这个任务。我想在当前时间添加不同的小时或分钟。因此,用户按下按钮,onClick将拉出当前时间,然后添加我决定的许多小时和分钟。目前我已经添加了两个小时,但我希望能够在2 hours14 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

并且最终可以添加分钟,但我认为这是另一个问题,一个更简单的问题,我可以简单地从已经知道如何添加两个小时的示例。

希望我已经解释得这么好了。

1 个答案:

答案 0 :(得分:3)

您需要使用DateTimeFormatter,例如:

DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
Text1.setText("Time: " + twoHoursLater.toString(formatter));

注意:DateTimeFormatter是线程安全的,因此您可以将其定义为private final static变量,并在每次调用onClickHere时重复使用它而不是创建一个实例。