猿问

如何在Java中将毫秒转换为“X分钟,x秒”?

如何在Java中将毫秒转换为“X分钟,x秒”?

我想记录下System.currentTimeMillis()当用户在我的程序中开始某件事情时。当他完成时,我会减去电流System.currentTimeMillis()start变量,并且我希望使用人类可读的格式(例如“XX小时、XX分钟、XX秒”或甚至“XX分钟,XX秒”)来显示经过的时间,因为它不太可能花费某人一个小时。

做这件事最好的方法是什么?


凤凰求蛊
浏览 5428回答 3
3回答

BIG阳

使用java.util.concurrent.TimeUnit班级:String.format("%d min, %d sec",      TimeUnit.MILLISECONDS.toMinutes(millis),     TimeUnit.MILLISECONDS.toSeconds(millis) -      TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));注:TimeUnit是Java1.5规范的一部分,但是toMinutes在Java1.6中添加。若要为值0-9添加前导零,只需执行以下操作:String.format("%02d min, %02d sec",      TimeUnit.MILLISECONDS.toMinutes(millis),     TimeUnit.MILLISECONDS.toSeconds(millis) -      TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));如果TimeUnit或toMinutes不受支持(例如在API版本9之前的Android上),请使用以下公式:int seconds = (int) (milliseconds / 1000) % 60 ;int minutes = (int) ((milliseconds / (1000*60)) % 60); int hours   = (int) ((milliseconds / (1000*60*60)) % 24);//etc...

小唯快跑啊

long time = 1536259;return (new SimpleDateFormat("mm:ss:SSS")).format(new Date(time));指纹:25:36:259
随时随地看视频慕课网APP

相关分类

Java
我要回答