小编典典

如何在android中获取两个日期之间的差额?尝试所有操作并发布

java

我在这里看到了所有帖子,但仍然不知道如何在两个Android日期之间取得区别。

这是我的工作:

long diff = date1.getTime() - date2.getTime();
Date diffDate = new Date(diff);

我得到:日期是1970年1月1日,而且时间总是在两个小时内更大……我来自以色列,所以两个小时是timeOffset。

如何获得正常的差异???


阅读 219

收藏
2020-09-11

共1个答案

小编典典

您接近正确的答案,这两个日期之间的差值以毫秒为单位,但是当您尝试根据该差值构造日期时,假设您要创建一个Date以该差值作为其值的新对象纪元时间。如果您正在寻找以小时为单位的时间,那么您只需要对此做一些基本的算术就diff可以得到不同的时间部分。

Java:

long diff = date1.getTime() - date2.getTime();
long seconds = diff / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = hours / 24;

科特林:

val diff: Long = date1.getTime() - date2.getTime()
val seconds = diff / 1000
val minutes = seconds / 60
val hours = minutes / 60
val days = hours / 24

所有这些数学运算都将简单地执行整数运算,因此它将截断任何小数点

2020-09-11