如何计算java中TimeStamp的分钟数?

时间:2010-11-12 07:15:50

标签: java

我想计算TimeStamp的分钟数。怎么做?例如

我的TimeStamp值为13/11/10 1:01 PM。从现在开始,我需要在几分钟内得到它吗?

希望我很清楚 谢谢

3 个答案:

答案 0 :(得分:8)

Timestamp是一个java.util.Date,精度更高一些 - 所以假设你不太关心nanos,只需在它上面调用getTime()就可以获得毫米时代的毫秒数:

long now = System.currentTimeMillis(); // See note below
long then = timestamp.getTime();

// Positive if 'now' is later than 'then',
// negative if 'then' is later than 'now'
long minutes = TimeUnit.MILLISECONDS.toMinutes(now - then);

请注意,为了测试性,我个人不会使用System.currentTimeMillis - 我有一个代表“当前时间服务”的界面(例如Clock),以及注入那个。然后你就可以轻松拥有一个假时钟。

编辑:我假设你已经有了解析的价值。如果你没有,只有一个字符串,你需要先解析它。我个人建议使用Joda Time作为比内置内容更好的日期和时间API,除非您有特殊原因不使用它。

答案 1 :(得分:4)

假设值在String

  1. 使用SimpleDateFormatparse()方法
  2. 解析该字符串
  3. 使用Date
  4. getTime()对象获取时间
  5. 区分System.currentTimeMillis()和从getTime()
  6. 收到的长片
  7. 除以1000然后60
  8. 假设该值在Timestamp中,请跳过步骤1和2.并注意时间 s 夯实中的 s 为小写。

答案 2 :(得分:1)

您可以使用Timestamp.getTime()以毫秒为单位获取时间。 System.currentTimeMillis()会在当前时间给你同样的东西。减去它们并除以1000*60以将毫秒转换为分钟