我正在开发一款能够跟踪旅行时间的应用
请考虑以下示例:
旅程1:距离:550km;旅行时间:14:55(14小时,55分钟)
旅行2:距离:230km;旅行时间:12:25
旅行3:距离:140km;旅行时间:10:44
我将旅行时间存储为长(1970-01-01之间的毫秒数)。这一切都很好,直到我的旅行时间超过24小时,或者显然,当我想显示旅行的总时数时。
有没有办法将日期格式化为字符串,将日期显示为小时数和分钟数,而不是日期的小时数和分钟数?
一旦我的值为26:10(26小时,10分钟),SimpleDateFormat将在第二天显示“02:10”,而不是所需的“26:10”。有没有办法绕过这个,或者我最好自己创建一个解析器?不要介意这是否是答案,只是不想重新发明轮子;)
提前致谢
答案 0 :(得分:1)
您可以手动计算:
long differenceInMilliseconds = ...;
long totalSeconds = differenceInMilliseconds / 1000;
int hours = totalSeconds / 3600;
totalSeconds = totalSeconds % 3600;
int minutes = totalSeconds / 60;
int seconds = totalSeconds % 60;