我如何计算Java中的时差?

新手上路,请多包涵

我想从 19:00:00 减去两个时间段,比如 16:00:00。这有什么Java函数吗?结果可以以毫秒、秒或分钟为单位。

原文由 user607304 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 394
2 个回答
String time1 = "16:00:00";
String time2 = "19:00:00";

SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
Date date1 = format.parse(time1);
Date date2 = format.parse(time2);
long difference = date2.getTime() - date1.getTime();

差异以毫秒为单位。

我修改 了 sfaizs 的帖子

原文由 Uros K 发布,翻译遵循 CC BY-SA 3.0 许可协议

Java 8 有一个 更干净的解决方案——Instant 和 Duration

例子:

 import java.time.Duration;
import java.time.Instant;
...
Instant start = Instant.now();
//your code
Instant end = Instant.now();
Duration timeElapsed = Duration.between(start, end);
System.out.println("Time taken: "+ timeElapsed.toMillis() +" milliseconds");

原文由 Anila Sebastian 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题