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”。有没有办法解决这个问题,还是我自己创建一个解析器会更好?不介意这是否是答案,只是不想重新发明轮子;)

提前致谢

4

1 回答 1

1

您可以手动计算它:

long differenceInMilliseconds = ...;
long totalSeconds = differenceInMilliseconds / 1000;

int hours = totalSeconds / 3600;    
totalSeconds = totalSeconds % 3600;

int minutes = totalSeconds / 60;
int seconds = totalSeconds % 60;
于 2012-11-24T11:12:40.103 回答