为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

凤凰求蛊 2019-06-23 15:57:28
如何在Java中将毫秒转换为“X分钟,x秒”?我想记录下System.currentTimeMillis()当用户在我的程序中开始某件事情时。当他完成时,我会减去电流System.currentTimeMillis()从start变量,并且我希望使用人类可读的格式(例如“XX小时、XX分钟、XX秒”或甚至“XX分钟,XX秒”)来显示经过的时间,因为它不太可能花费某人一个小时。做这件事最好的方法是什么?
查看完整描述

3 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

使用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)));

如果TimeUnittoMinutes不受支持(例如在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...


查看完整回答
反对 回复 2019-06-23
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

long time = 1536259;return (new SimpleDateFormat("mm:ss:SSS")).format(new Date(time));

指纹:

25:36:259


查看完整回答
反对 回复 2019-06-23
  • 3 回答
  • 0 关注
  • 5427 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号