首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java如何计算时间差

Java如何计算时间差
EN

Stack Overflow用户
提问于 2010-09-28 13:47:12
回答 2查看 9.2K关注 0票数 2

如果用户输入是2255和2305,输出应该是10分钟,我如何计算24小时内的时间差。我的想法是把输入分成两个部分,两个数字和两个数字。前两个数字是小时,乘以60就是分钟。然后加上第二个2位数,然后计算差值。我不想使用任何日期日历数据类型或API来解决它。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-28 16:13:58

如何在不使用String chartAt的情况下获取前2位数字。

最高的两位数字: number / 100最低的两位数字:数字% 100

但是如果用户输入3:05或者3-05,你会怎么做呢?我认为这是可用性的问题。最好的解决方案是让用户能够明确地理解UI。例如,您可以对小时和分钟使用单独的字段。

票数 1
EN

Stack Overflow用户

发布于 2010-09-28 15:07:55

代码语言:javascript
复制
    String time1 = "2255";
    String time2 = "2305";

    SimpleDateFormat format = new SimpleDateFormat("HHmm");
    Date date1 = format.parse(time1);
    Date date2 = format.parse(time2);
    long difference = date2.getTime() - date1.getTime();        

不同的是,在millis中,你可以将它转换成任何单位,或者你可以使用apache-commons中的DurationFormatUtils来很好地格式化它。

代码语言:javascript
复制
System.out.println("Duration: "+DurationFormatUtils.formatDuration(difference, "HH:mm"));

apache commons有非常好的实用函数,apache-commons (lang)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3810023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档