私はしばしば時間を操作する必要があります。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;
}