在Java中我们如何计算Unix的timeSpan?
int endTime=1213036458;
int startTime= 1211018446;
结果应该在几个小时内。
发布于 2015-02-28 05:38:13
Unix time通常(通过维基百科链接)定义为自1970年1月1日(星期四)世界协调时间00:00:00以来所经过的秒数。这个特定的epoch是由Java共享的,但是Java使用毫秒而不是秒。
如果您使用的是Java 8+,则可以使用如下所示的Duration
int endTime = 1213036458;
int startTime = 1211018446;
Duration d = Duration.ofSeconds(endTime - startTime);
System.out.println(d);
这给我(560小时33分32秒)
PT560H33M32S
如果你使用的是旧版本的Java,你总是可以用下面这样的方式来实现它
int seconds = endTime - startTime;
int hours = seconds / 3600;
seconds -= hours * 3600;
int minutes = seconds / 60;
seconds -= minutes * 60;
System.out.printf("%d hours, %d minutes and %d seconds%n", hours,
minutes, seconds);
我得到了我所期望的
560 hours, 33 minutes and 32 seconds
https://stackoverflow.com/questions/28778366
复制相似问题