Java ManagementFactory.getRuntimeMXBean().getUptime()格式化以显示天、小时、分钟和秒
这是显示应用程序正常运行时间的代码:Java ManagementFactory.getRuntimeMXBean().getUptime()格式化以显示天、小时、分钟和秒,java,date,simpledateformat,uptime,Java,Date,Simpledateformat,Uptime,这是显示应用程序正常运行时间的代码: /** * 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.get
/**
* 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。这是什么原因?如何修复此问题?试试这个
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也接受毫秒