代码之家  ›  专栏  ›  技术社区  ›  pm_labs

检查两个长值(以毫秒为单位)是否属于同一秒的最有效方法是什么

  •  3
  • pm_labs  · 技术社区  · 16 年前

    目前我正在使用 TimeUnit.MILLISECONDS.toSeconds(valueInMillis) 检查两个毫秒值是否来自同一秒。你能为这次行动推荐一个更快的算法吗?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Andreas Dolk    16 年前

    这是暗号 TimeUnit.MILLISECONDS.toSecond(long d)

    public long toSeconds(long d) { return d/(C3/C2); }
    

    哪里 C2 , C3 是静态常数。你可以保存一个分区。。。在这种情况下,我更喜欢你的实际代码,它更容易理解

        2
  •  5
  •   Cullen Walsh    16 年前

        3
  •  1
  •   Paul    16 年前

    假设t1和t2是时间戳。例如来自System.currentTimeMillis()

    public static boolean isSameSecond(long t1, long t2){
      return (t1/1000) == (t2/1000)
    }