Javaで時刻を表す正しい方法は何ですか?
例:09:00、19:30など。
基本的に、これは実際の日付/日にリンクされていない時刻です。
あなたはすでにこれをjodatimeでタグ付けしています。
時刻を保存するためのJodaTimeタイプはですorg.joda.time.LocalTime
。JodaTimeAPIのドキュメントを参照してください。
これを試して:
Calendar cal = Calendar.getInstance();
cal.get(Calendar.HOUR_OF_DAY);
cal.get(Calendar.MINUTE);
通常、表示する必要がない場合は、longが使用されます。
System.currentTimeMillis()を参照してください。
Eng.Fouadが示唆しているように、Dateオブジェクトを使用する必要があります。そうすれば、Dateオブジェクトに存在するすべてのユーティリティに引き続きアクセスできます。あなたがそれを提示するときはいつでもそれの日付部分を無視してください。
Date date = new Date();
DateFormat df = new SimpleDateFormat("hh:mm");
String timeOfDay = df.format(date); // ex: "18:00"
または特定の時間を作成するには
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 18);
cal.set(Calendar.MINUTE, 00);
DateFormat df = new SimpleDateFormat("hh:mm");
String timeOfDay = df.format(cal.getTime()); // "18:00"