わかりましたので、Log 10 (時間) の形式で時刻を表示し、同じ形式で分と秒を表示する時計を作成していましたが、これを実行すると奇妙な出力が得られます。私は主に NAN を取得し、時には無限大 (またはその負) を取得します。使用している数値に何か問題があるような気がします (数値が大きすぎるか、そのようなものかもしれません) 注: currentTime は long で、calendar は Calendar で、時、分、秒は double です。また、クロック変数は JLabel です。プログラムが 2 回繰り返された後は、常に NAN に切り替わります。
this.timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() throws Exception {
currentTime = System.currentTimeMillis();
calendar.setTime(new Date(currentTime));
hour = Math.log10(hour);
minute = Math.log10(minute);
second = Math.log10(second);
System.out.println(hour + " " + minute + " " + second);
return null;
}
@Override
protected void done() {
clock.setText("<html><body><p>Log Time: "
+ "Log<sub>10</sub>(" + hour + ") || "
+ "Log<sub>10</sub>(" + minute + ") || "
+ "Log<sub>10</sub>(" + second + ")</p></body></html>");
}
}.execute();
}
}, 0, 200);