我尝试使用System.currentTimeMillis();
将毫秒转换为秒System.out.println((int) System.currentTimeMillis() / 1000);
输出为730750并且增加1.如何从0开始秒?
**更新:现在我理解了这个问题并感谢您的回答。
答案 0 :(得分:4)
System.currentTimeMillis()
是从1970年1月1日开始的。它需要今天的时间并从1970年1月1日午夜减去它。这就是为什么这么多秒。
答案 1 :(得分:4)
来自System.currentTimeMillis()
的Javadoc:
返回: 当前时间与1970年1月1日午夜时间之间的差异,以毫秒为单位。
要从零开始,您需要定义开始时间。然后,您可以打印在该开始时间之后经过的时间。
long startTime = System.currentTimeMillis();
...
System.out.println((System.currentTimeMillis() - startTime) / 1000);
答案 2 :(得分:3)
由于时间基于纪元1.1.1970,您需要将其基于当前时间。
long start = System.currentTimeMillis();
System.out.println((System.currentTimeMillis() - start) / 1000l);
答案 3 :(得分:2)
如果您想要经过时间,可以存储开始时间,然后再检查当前时间。 实施例
int startTimeSeconds = (int) System.currentTimeMillis() / 1000;
// do stuff
System.out.println("Time elapsed: ");
System.out.println(((int) System.currentTimeMillis() / 1000) - startTimeSeconds);