【问题标题】:The difference between two java.sql.Time objects measured in minutes [duplicate]以分钟为单位测量的两个 java.sql.Time 对象之间的差异[重复]
【发布时间】:2015-11-13 12:27:45
【问题描述】:

我需要知道两个 java.sql.Time 对象之间的差异,并且差异必须以分钟为单位。 我就是这样做的:

java.sql.Time srTime = sr.getTime(); // 12:40:04
java.sql.Time chTime = ch.getTime(); // 12:32:00
long diff = Math.abs(srTime.getTime() - chTime.getTime()); // 484000

结果 (diff) 等于 484000。如何使其等于 8 分钟?

【问题讨论】:

  • 使用除法int result = 484000 / 1000 /* take out milliseconds */ / 60 /* convert to minutes */; System.out.println(result);
  • 以毫秒为单位...

标签: java sql time


【解决方案1】:

使用除法

int result =   484000
             / 1000   /* take out milliseconds */ 
             / 60     /* convert to minutes    */;
System.out.println(result);

输出: 8

【讨论】:

    【解决方案2】:

    你可以像这样简单地划分它:

    long diff = Math.abs(srTime.getTime() - chTime.getTime());
    long res = diff/60000;
    

    你得到的 diff 以毫秒为单位,所以你需要将它除以 60000 才能在几分钟内得到。

    【讨论】:

      【解决方案3】:

      如果您使用的是 java 1.7,则可以使用 TimeUnit 对象。 http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/TimeUnit.html

      一旦你得到一个毫秒的响应,看看这个例子

      long minutes = TimeUnit.MILLISECONDS.toMinutes(diff);
      long seconds = TimeUnit.MILLISECONDS.toSeconds(diff);
      

      【讨论】:

        猜你喜欢
        • 2018-11-25
        • 2012-01-03
        • 2020-06-08
        • 2013-09-12
        • 1970-01-01
        • 1970-01-01
        • 2021-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多