遇到一个问题,前端传过来是秒。但是我要往数据库存的是H:mm:ss样式的,所以呢,直接看代码吧。
package Lx; public class ClassName { public static void main(String[] args) { Integer eDate = 6565; String timeFormat = String.format("%02d:%02d:%02d", eDate / 3600, (eDate % 3600) / 60, eDate % 60); System.out.println("用时 :"+timeFormat); } }
解析:
这段代码的目的是将一个表示时间的整数eDate转换为时:分:秒的格式,并将结果打印出来。
首先,将整数eDate除以3600,得到小时数(eDate / 3600)。这表示eDate中包含的总小时数。然后,通过取余运算(%)来获取剩余的时间(eDate % 3600)。将这个结果再除以60,得到分钟数((eDate % 3600) / 60)。最后,将求得的分钟数再次进行取余运算,得到秒数(eDate % 60)。
使用String.format()方法将时间格式化为"时:分:秒"的形式,其中%02d表示在数字小于10时补零。然后将格式化后的字符串赋值给timeFormat变量。
最后,通过System.out.println()方法打印出"用时:"加上格式化后的时间字符串。
例如,如果eDate的值为6565,那么计算过程如下:
小时数:6565 / 3600 = 1
分钟数:(6565 % 3600) / 60 = 11
秒数:6565 % 60 = 5
最终打印结果为:"用时:01:11:05"。