import java.util.Calendar; /** * 記念時刻(年月日時分秒)と現在の時刻の差を千分の一秒まで計算するクラス。 * @author せぎてつ * @version 1.0 */ public class CalcTimeDiffInMillisJDK11 extends CalcTimeDifferenceJDK11 { private int diffMilliSeconds; /** * 引数がないコンストラクタ。 * 記念時刻を2000年1月1日0時0分0秒に設定する。 */ public CalcTimeDiffInMillisJDK11() { super(2000, 0, 1, 0, 0, 0); } /** * 引数に年月日が与えられるコンストラクタ。 * 与えられた年月日の0時0分0秒に設定する。 */ public CalcTimeDiffInMillisJDK11(int year, int month, int day) { super(year, month, day, 0, 0, 0); } /** * 引数に年月日時分秒が与えられるコンストラクタ。 */ public CalcTimeDiffInMillisJDK11(int year, int month, int day, int hour, int minute, int second) { super(year, month, day, hour, minute, second); } /** * 現在時刻の再設定。 */ public void setCurrentTime(boolean roundOff) { long timeDiffInMillis = getMemorialTime().getTime().getTime() - Calendar.getInstance().getTime().getTime(); setAfter((timeDiffInMillis > 0) ? false : true); timeDiffInMillis = Math.abs(timeDiffInMillis); if (roundOff && before()) { timeDiffInMillis += 999; } setDiffDays((int)(timeDiffInMillis / (24 * 3600 * 1000))); timeDiffInMillis %= 24 * 3600 * 1000; setDiffHours((int)(timeDiffInMillis / (3600 * 1000))); timeDiffInMillis %= 3600 * 1000; setDiffMinutes((int)(timeDiffInMillis / (60 * 1000))); timeDiffInMillis %= 60 * 1000; setDiffSeconds((int)(timeDiffInMillis / 1000)); setDiffMilliSeconds((int)(timeDiffInMillis % 1000)); } /** * 記念時刻と現在時刻の差の秒を取り出す。 * @return 差の秒 */ public int getDiffMilliSeconds() {return diffMilliSeconds;} /** * 記念時刻と現在時刻の差の秒を設定する。 */ protected void setDiffMilliSeconds(int diffMilliSeconds) {this.diffMilliSeconds = diffMilliSeconds;} }