【问题标题】:Difference between minutes分钟之间的差异
【发布时间】:2011-09-21 14:13:30
【问题描述】:

假设我有 2 个格式如下的字符串:

“09/21 上午 10:06” “09/21 上午 10:10”

如何找到这些字符串之间的时间差,存储为 int?这必须足够强大以处理上午 10:59 和 11:02(其间的奇数分钟数)、上午 11:59 和下午 12:03(上午到下午切换)等情况。无需担心秒数。

谢谢!

【问题讨论】:

    标签: java time


    【解决方案1】:

    我建议:

    • 使用Joda Time代替内置API;它好多了更好。
    • 解析成LocalDateTime
    • 找出它们之间的区别:

      Minutes period = Minutes.minutesBetween(first, second);
      int minutes = period.getMinutes();
      

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      将字符串解析为Date 对象,并以毫秒为单位获取它们之间的差异。然后将这些毫秒转换为分钟(除以 60000 并取结果的上限)。

      【讨论】:

        【解决方案4】:

        如果切换到夏令时,那么一天的差异可能会比另一天多一个小时。

        最好使用已经这样做的库。 JodaTime 是最好的,但 SimpleDateFormat 和 Date 可能会满足您的需求。

        【讨论】:

          【解决方案5】:
          1. 将 2 个字符串转换为日期。
          2. 从另一个中减去一个。
          3. 将结果乘以 1440(一天中的分钟数)。
          4. 将结果四舍五入为整数。

          让我知道它是否有效:)

          【讨论】:

          • 为什么是最后一行?如果你不打算“保证”你的答案,也许不发布它会是一个更好的选择。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-15
          • 2013-09-12
          • 2012-01-03
          • 1970-01-01
          相关资源
          最近更新 更多