【问题标题】:Display date in hours以小时为单位显示日期
【发布时间】:2012-11-24 11:01:50
【问题描述】:

我正在开发一个跟踪旅行时间的应用程序

考虑以下示例:

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

提前致谢

【问题讨论】:

    标签: android date simpledateformat


    【解决方案1】:

    您可以改为手动计算:

    long differenceInMilliseconds = ...;
    long totalSeconds = differenceInMilliseconds / 1000;
    
    int hours = totalSeconds / 3600;    
    totalSeconds = totalSeconds % 3600;
    
    int minutes = totalSeconds / 60;
    int seconds = totalSeconds % 60;
    

    【讨论】:

    • 我现在就是这样做的,但希望 SimpleDateFormat 有一个格式化选项,所以我也可以轻松地使用它进行输入。然而,这让我开始思考,我真的应该以更可控的方式进行输入。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    相关资源
    最近更新 更多