写项目遇到一个问题,前端传的是个4,但需要存进去变成00:00:04。这种时间格式,当然,秉着代码能少写就少写的风格,一行代码足矣。
String timeFormat = String.format("%02d:%02d:%02d", shijian / 3600, (shijian % 3600) / 60, shijian % 60);
package Lx; public class ClassName { public static void main(String[] args) { int shijian = 4; String timeFormat = String.format("%02d:%02d:%02d", shijian / 3600, (shijian % 3600) / 60, shijian % 60); System.out.println("时间4 = "+timeFormat); int shijian2 = 100; String timeFormat2 = String.format("%02d:%02d:%02d", shijian2 / 3600, (shijian2 % 3600) / 60, shijian2 % 60); System.out.println("时间100 = "+timeFormat2); } }
打印结果:
在上述代码中,我们使用 String.format()
方法将整数 4
格式化为 HH:mm:ss
的字符串。这里的 %02d
表示使用两位数字的十进制格式,不足两位则用前导零补齐。
解释一下:
4 / 3600
得到小时的部分,这里结果为0
,表示不足一小时。(4 % 3600) / 60
得到分钟的部分,这里结果为0
,表示不足一分钟。4 % 60
得到秒钟的部分,这里结果为4
。
使用这个一行代码,你将得到 00:00:04
的字符串结果。