以小时显示日期

时间:2012-11-24 11:01:50

标签: android date simpledateformat

我正在开发一款能够跟踪旅行时间的应用

请考虑以下示例:

旅程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”。有没有办法绕过这个,或者我最好自己创建一个解析器?不要介意这是否是答案,只是不想重新发明轮子;)

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以手动计算:

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

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

int minutes = totalSeconds / 60;
int seconds = totalSeconds % 60;