我经常需要操纵时间。 Calendar类非常适合处理日期和时间,但是我似乎找不到一种简单的方法来将小时,分钟和秒之类的元素存储到某种结构中。从字符串到实际int似乎需要大量转换。我总是可以创建自己的类,并将元素存储到字段中,但是如果存在一个提供更多功能(添加时间等)但又使其易于存储和访问的类,那就更好了。我正在寻找这样的东西:

Time time = new Time();
time.parse("13:30:15");
t.Hour = 13;
t.Minute = 30;
t.Second = 15;

是否存在任何执行此类简单操作的Java类。这就是我现在的做法。仅解析小时和几分钟的代码量是多么恐怖:
String time = "17:30";

TimeInfo timeInfo = new TimeInfo();
SimpleDateFormat df = new SimpleDateFormat("HH:mm");
Date d = df.parse(time);

Calendar calendar = Calendar.getInstance();
calendar.setTime(d);

timeInfo.Hours = calendar.get(Calendar.HOUR_OF_DAY);
timeInfo.Minutes = calendar.get(Calendar.MINUTE);
timeInfo.Seconds = calendar.get(Calendar.SECOND);

class TimeInfo
{
  public int Hours;
  public int Minutes;
  public int Seconds;
  public boolean Is24HourFormat;
}

最佳答案

JodaTime是有助于轻松操纵时间的外部库之一。您可以增加时间。还要找出时间之间的差异。
您可能还想检查jottime lib中的概念intervalduration之间的区别。 [SO post]
Refer its javadoc for more info

10-07 13:30
查看更多