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