如何获得天数,小时数,分钟数和秒数之间的两个日期之间的差异

春季学习者

我想获取两个给定日期之间的天数,小时数和分钟数,到目前为止,我已经尝试了3种不同的方法,但是没有一个给我正确的值。请让我知道如何获取介于两者之间的天数,小时数和分钟数2个给定的日期。

以各种方式输入estdate是星期六2月21日12:00:00 IST 2015第一种方式

Date estDate=//date object which returns Sat Feb 21 12:00:00 IST 2015
long estDateInLong=estDate.getTime();
    long currentTimeinLong=Calendar.getInstance().getTimeInMillis();
    Long diff=currentTimeinLong-estDateInLong;
    long diffSeconds = diff / 1000 % 60;  //gives 6
    long diffMinutes = diff / (60 * 1000) % 60; //gives 21
    long diffHours=diff/(60*60 * 1000) % 60;//gives 26
    long diffDay=diff/(24*60*60 * 1000) % 60;//gives 16

这是错误的,所以我再次尝试了以下方法

Period p=new Period(new LocalDate(estDate)), new LocalDate(currentDate);
System.out.println(p.getDays());System.out.println(p.getHours());System.out.println(p.getMinutes());

输出

2
0
0

第三种方式

int delayTimeInDays=Days.daysBetween(new LocalDate(estDate), new LocalDate(currentDate).getDays();
    int delayTimeinHours=Hours.hoursBetween(new LocalDate(estDate), new LocalDate(currentDate).getHours();
    int seconds=Seconds.secondsBetween(new LocalDate(estDate), new LocalDate(currentDate)).getSeconds();

这给了我16,384,1382400

这又是错误的。

预期产量

当前时间是3月9日下午2:48

从2015年2月21日中午到12月22日中午:1天

从2015年2月22日中午至2月23日中午:2天

所以直到今天中午12天数= 16

小时数= 2

分钟数= 50

维哈尔

如果我的问题正确无误,这就是您要寻找的

long estDateInLong=//whatever gives you past date
long currentTimeinLong=Calendar.getInstance().getTimeInMillis();
long diff=(long)(currentTimeinLong-estDateInLong);
long diffDay=diff/(24*60*60 * 1000);
diff=diff-(diffDay*24*60*60 * 1000); //will give you remaining milli seconds relating to hours,minutes and seconds
long diffHours=diff/(60*60 * 1000);
diff=diff-(diffHours*60*60 * 1000); 
long diffMinutes = diff / (60 * 1000);
diff=diff-(diffMinutes*60*1000);
long diffSeconds = diff / 1000;
diff=diff-(diffSeconds*1000);       
System.out.println(diffDay +"\t"+diffHours+"\t"+diffMinutes+"\t"+diffSeconds);

使用Joda(可能是!)可能很容易完成,但也可以通过这种方式完成

希望这可以帮助!祝你好运

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

计算天数,小时和两个时刻之间分钟

MySQL SELECT在两个日期(不同的天数)之间的分钟

在Java中,如何获得两个日期之间的秒数差异?

JavaScript返回两个日期之间的天数,小时数,分钟数,秒数

使用joda时间的两个日期之间的秒数差异?

计算年,天,小时,分钟等两个日期之间的差异

两个NSDate之间的小时数差异

如何显示两个日期之间的小时和分钟

PHP:获得两个DateTime对象之间的小时,分钟和秒的差异

如何获得两个日期之间的天数

如何获得两个日期(包括时间)之间的天数?

如何在Android中的天,小时(24),分钟(60),秒(60)中获得两个日期之间的差异

我在excel和mssql中获得了关于两个特定日期之间小时数差异的不同结果

如何获得两个日期之间的天数?

java.time:比较两个Instants-获得两者之间的小时数,分钟数,秒数,年数和月数

Postgresql:如何找到两个日期和时间之间的十进制小时之间的差异?

如何获得两个日期之间的差异?

如何获得两个日期之间的差异(informix)?

如何获取小时,分钟和秒这两个日期之间的时差?

如何使用派生列变换获取SSIS中两个日期之间的分钟数差异?

如何使用纯JavaScript获得两个日期之间的总差异分钟数

C中两个日期之间的秒数差异

获取两个 HH24:MI 值之间的总小时数和分钟数

以小时和分钟为单位的两个日期之间的差异

如何在php中获得两个日期之间的差异天数

如何获得TSQL中两个日期之间周二凌晨4点的小时数

使用VBA无法获得月份和剩余天数中两个日期之间的差异

如何在 C# 中获得两个 DateTimeOffset 之间的小时、分钟或秒差异部分?

Dart,在(天-小时-分钟)中获得两个日期时间之间的差异?