私は使用しようとしています
import android.text.format.Time;
Time startTime = new Time();
startTime.hour = 6;
startTime.minute = 0;
計算後、startTime.minute = startTime.minute + xx
を超え60 min
た場合、ゼロにならず、startTime の時間を変更しません。
どうやってやるの?
オーバーフローを自分で確認する必要があります。
if (startTime.minute + xx >= 60) {
startTime.hour += 1;
}
startTime.minute = (startTime.minute + xx) % 60;
[編集]
@Jmelnik:s answer および @VikramBodicherla:scomment が述べているようCalendar
に、コード スニペットに示す非常に基本的な操作以外のことを行っている場合は、クラスまたは同様の高度なものを必ず確認する必要があります。
基本的には、標準の Java API を使用することをお勧めします。これは、Android API まではそのようなことを行うことができました。これにより、ドキュメントが改善され、検索エンジンが例でいっぱいになります。
単純にコードは次のようになります。
//1. Instantiate Date
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
//2. Manipulate it with Calendar
cal.set(Calendar.HOUR_OF_DAY, 6);
cal.set(Calendar.MINUTE, 0);
cal.add(Calendar.MINUTE, 65);
//3. Format it with DateFormat
DateFormat df = new SimpleDateFormat("HH:mm", Locale.ENGLISH);
df.setTimeZone(TimeZone.getTimeZone("GMT"));
String time = df.format(cal.getTime()); //07:05
特に設定しない場合、SimpleDateFormat はシステムの TimeZone と Locale にデフォルト設定されることを忘れないでください。