1

これは、アプリケーションの稼働時間を表示するための私のコードです:

/**
 * Gets the uptime of the application since the JVM launch
 * @return The uptime in a formatted String (DAYS, MONTHS, MINUTES, SECONDS)
 */
public static String getGameUptime() {
    RuntimeMXBean mxBean = ManagementFactory.getRuntimeMXBean();
    DateFormat dateFormat = new SimpleDateFormat("dd:HH:mm:ss");
    dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+0"));
    return dateFormat.format(new Date(mxBean.getUptime()));
}

ただし、アプリケーションが 3 分 50 秒間しか実行されていない場合は、「01:00:03:50」が返されます。この場合、01 は 00 にする必要があります。これの原因は何ですか?これを修正するにはどうすればよいですか?

4

1 に答える 1

0

これを試して

    DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
    dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
    long uptime = mxBean.getUptime();
    String d = uptime / (3600 * 1000 * 24) + ":" + dateFormat.format(uptime);

DateFormat はミリ秒も受け入れることに注意してください

于 2013-10-27T05:09:48.897 に答える