java.util.Calendar変数(2016-05-24 00:01:05.780など)があり、その時間の合計秒数を取得したいとします。この例では、結果として65を取得したいと考えています。Java:Calendar変数の秒数を取得
私はmyCalendarVariable.getTimeInMillis()/ 1000を使用しようとしましたが、結果として-2208977011が得られました。
どうすればいいですか?あなたはこの試みることができる
java.util.Calendar変数(2016-05-24 00:01:05.780など)があり、その時間の合計秒数を取得したいとします。この例では、結果として65を取得したいと考えています。Java:Calendar変数の秒数を取得
私はmyCalendarVariable.getTimeInMillis()/ 1000を使用しようとしましたが、結果として-2208977011が得られました。
どうすればいいですか?あなたはこの試みることができる
をあなたは
variable.get(Calendar.HOUR_OF_DAY) * 60 * 60 + variable.get(Calendar.MINUTE) * 60 + variable.get(Calendar.SECOND)
を試すことができますCalendar.HOUR
がために使用されるべきであるのに対し、あなたは、24時間クロックを使用しているときCalendar.HOUR_OF_DAY
が使用されていることに注意してください12時間制です。このような状況では、前者を使用します。
:
Calendar calendar = Calendar.getInstance();
calendar.setTime(yourdate);
int minutes = calendar.get(Calendar.MINUTE);
int seconds = minutes*60 + calendar.get(Calendar.SECOND);;
機能getを使用してください:
myCalendarVariable.get(HOUR_OF_DAY)* 3600 + myCalendarVariable.get(MINUTE) * 60 + myCalendarVariable.get(SECOND)
ないあなたが探していた秒のどの範囲確認をするので、これらのいずれかを試してみてください。
Calendar myCalendarVariable = Calendar.getInstance();
int secondsInHour = myCalendarVariable.get((Calendar.MINUTE) * 60) + myCalendarVariable.get(Calendar.SECOND);
int secondsOfDay = (myCalendarVariable.get(Calendar.HOUR_OF_DAY) * 60 * 60) + secondsInHour;
あなたがLocalDateTime
にあなたの日付を変換することができた場合あなたは1日の秒を直接にすることができます。
Calendar
からLocalDateTime
への変換は、別の形式のデータがある可能性があるため、省略されています。これはあなたのニーズを簡単に修正できるはずです。
LocalDateTime of = LocalDateTime.of(2016, 5, 24, 0, 1, 5, 780000000);
System.out.println("seconds of day: " + of.getLong(ChronoField.SECOND_OF_DAY));
出力
seconds of day: 65
あなたは2016年5月24日01持っていたのであれば、単に明確にするために、:01:05.780をあなたは結果は3665になりたいと思いますか? –