我有两个 UNIX 时间戳,我想比较它们,然后在几分钟内得到差异。
E.g。 1418600222 and 1418602180
,其中1418602180 - 1418600222
在几分钟内给出了答案。我试图谷歌它,但大多数结果都在javascript
,我对它的理解相当有限。
答案 0 :(得分:3)
long t1=1418602180;
long t2=1418600222;
long minutes=Math.abs(t1-t2)/60;
System.out.println(minutes);
答案 1 :(得分:2)
查看java.util.concurrent.TimeUnit
java.util.concurrent.TimeUnit#SECONDS.toMinutes()
答案 2 :(得分:1)
试试这个
public class tets {
public static void main(String args[])
{
long timeStamp= 1418602180 - 1418600222;
java.util.Date time=new java.util.Date(timeStamp*1000);
System.out.println(time.getMinutes());
}
}
输出 2
更新
在我之前的示例中,我使用了已弃用的方法。你可以使用如下的joda时间
LocalDateTime d1=new LocalDateTime(new Date(1418602180 *1000));
LocalDateTime d2=new LocalDateTime(new Date(1418600222*1000));
System.out.println(d1);
System.out.println(d2);
int minutesDiff=Minutes.minutesBetween(d2, d1).getMinutes();
System.out.println(minutesDiff);
答案 3 :(得分:1)
Unix时间戳(也称为纪元时间)就是1970-01-01 00:00:00以来的秒数。
鉴于它是一个数字,您可以计算与任何其他数字的差异。你会在几秒钟内得到差异。将此除以60得到分数差异。
你的例子:
1418602180 is 2014-12-15 00:09:40 GMT
1418600222 is 2014-12-14 23:37:02 GMT
difference is 1418602180 - 1418600222 = 1958 seconds
1958 / 60 = 32.6333 minutes