当前位置: 首页 > 面试题库 >

如何使用System.currentTimeMillis()以秒为单位测量时间跨度?

南宫嘉
2023-03-14
问题内容

如何转换System.currentTimeMillis();为秒?

long start6=System.currentTimeMillis();
System.out.println(counter.countPrimes(100000000)+" for "+start6);

控制台向我显示5761455 for 1307816001290。我看不清那是多少秒。

有什么帮助吗?


问题答案:
long start = System.currentTimeMillis();
counter.countPrimes(1000000);
long end = System.currentTimeMillis();

System.out.println("Took : " + ((end - start) / 1000));

更新

甚至更准确的解决方案是:

final long start = System.nanoTime();
counter.countPrimes(1000000);
final long end = System.nanoTime();

System.out.println("Took: " + ((end - start) / 1000000) + "ms");
System.out.println("Took: " + (end - start)/ 1000000000 + " seconds");


 类似资料:
  • 问题内容: 我有一个简单的Java程序,我想知道某些操作之间的时间差。对于这个问题,细节并不重要,但是让我们采取以下情形。 当代码在计算机上运行时,差异有多可靠? 让我们说,处理器开始从我的代码执行一些指令,然后为另一个进程提供上下文,该进程执行一段时间,然后返回执行与该Java进程相关的指令。 因此,时间差应取决于计算机的当前状态,即正在运行多少个进程等?因此,在分析过程中,某些操作需要运行,这

  • 两个时间戳的示例 困难的部分原因是我认为没有类似的包来处理它。我不确定是否需要使用正则表达式来提取秒,然后将纳秒转换为毫秒。我愿意接受任何建议。 另外,您建议如何处理?我想我应该使用,然后像这样的包可以解析时间戳,甚至可以达到纳秒级的精度?

  • 问题内容: 我有一个$ i变量,它在shell脚本中是秒,并且我试图将其转换为24小时HH:MM:SS。这在壳中可能吗? 问题答案: 这是一种有趣的hacky方式,可以完全满足您的需求=) 说明: 该实用程序允许您从字符串开始以秒为单位指定从1970-01-01 00:00:00 UTC开始的时间,并以您指定的任何格式输出时间。 该选项是显示UTC时间,因此不考虑时区偏移量(因为从1970年开始的

  • 问题内容: 首先,这是我在Java 1类中遇到的一个简单问题。这是一个静态时间,我已经将其设置为“今天”为8:49:12,因此我要弄清楚这代表了午夜之后的多秒,以及“午夜”之后的秒数。8小时49分钟12秒。现在是我的代码: 我的问题是,我如何获得的时候不知道 从 和 自 午夜。 因此,基本上输出是: 之后的空间是几秒钟。 谢谢,请解释原因,以及如何选择解决方法。我想学习:P 问题答案: 试试这个简

  • 问题内容: 我的时间以毫秒为单位,我需要将其转换为ZonedDateTime对象。 我有以下代码 线 给我一个错误,说未为类型LocalDateTime定义方法millsToLocalDateTime 问题答案: 并且是不同的。 如果需要,您可以按照以下方式进行操作:

  • 问题内容: 我想在用log4j生成的日志文件的每个条目的时间戳中添加微秒,这可能吗? 我已经搜索了官方文档,但是没有提到毫秒以下的单位。 现在我有一个转换模式,如下所示: 在日期转换模式( %d* )中,我想在毫秒值( SSS )之后添加 微秒 ,有没有办法做到这一点? * 问题答案: 如果要显示微秒,则需要自己添加。可以使用自定义格式化程序(而不是PatternFormatter)来完成