我经常需要操纵时间。 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中的概念interval
和duration
之间的区别。 [SO post]
Refer its javadoc for more info