ユーザーのコマンドでアプリケーションにアップタイムを出力させようとしていますが、実行すると次のようになり
Current up-time: 01:00:07:34
ます00:00:07:34
。私はこれと同様の質問にしばらく時間を費やしましたが、ほとんどの人がタイムゾーンを GMT に設定するか、外部時間 API を使用することについて答えました。依存関係を最小限に抑えようとしているので、単に稼働時間を確保するためだけに外部 API を使用しないようにしています。タイムゾーンを GMT に設定しましたが、時間を修正するだけでした (以前01:01:07:34
は稼働時間として表示されていました)。
私のコードは次のようなものです:
case "uptime":
long uptime = System.currentTimeMillis()-MainClass.getStartTime();
DateFormat formatter = new SimpleDateFormat("DD:HH:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.printf("Current up-time: %s\n", formatter.format(new Date(uptime)));
return true;
これを取得して正常な出力を生成する方法を知っている人はいますか?