Java如何计算时差

标签 java time

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

最佳答案

    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();        

区别在于毫秒,您可以将其转换为任何单位,或者您可以使用 apache-commons 中的 DurationFormatUtils 来漂亮地格式化它。

System.out.println("Duration: "+DurationFormatUtils.formatDuration(difference, "HH:mm"));

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

关于Java如何计算时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3810023/

相关文章:

java - 如何最好地定位 Swing GUI?

java - 使用 Java 获取 JMeter 远程测试结果

javascript - GoLang 解析 time.Now() 时区?

c++ - 由于配置文件部分之外的代码,使用clock_gettime()进行不合理的时间测量

c# - 不同编程语言的库如何处理日期和时间、时间戳和持续时间、闰秒和 - 年、DST 和时区,...?

ios - 比较ios中的两个时间值?

java - 使用 Play Framework 1.x,如何让 JPA 在生产模式下创建缺失的数据库表?

java - 观察者设计不起作用

java - JNI方法CallObjectMethod、CallObjectMethodV和CallObjectMethodA有什么区别?

c - time() 和 gettimeofday() 返回不同的秒数