可能是重复问题:
如何在Java中计算时间差?
实际上,我想在Java中减去两个日期。我尝试了很多次,但都没有成功。所以请有人帮帮我。
Date dtStartDate=pCycMan.getStartDate();
Date dtEndDate=pCycMan.getEndDate();
我该如何减去这两个日期?
可能是重复问题:
如何在Java中计算时间差?
实际上,我想在Java中减去两个日期。我尝试了很多次,但都没有成功。所以请有人帮帮我。
Date dtStartDate=pCycMan.getStartDate();
Date dtEndDate=pCycMan.getEndDate();
long msDiff = dtEndDate.getTime() - dtStartDate.getTime()
msDiff
现在保存了两个日期之间的毫秒差异。可以使用除法和模运算符将其转换为其他单位。
msDiff /(1000 * 60 * 60 * 24)
即可。 - Mike Deck要计算两个日期之间的差值,您可以将它们都转换为长整型 getTime()
并相减返回的值。
使用日历类。
用法:
Calendar c = Calendar.getInstance();
c.setTime(dtStartDate);
int date = c.get(Calendar.YEAR); //int represents the year of the date
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK); // int represents dayOfWeek as defined in link.
Java中有一个处理日期的框架... http://joda-time.sourceforge.net/userguide.html 看一下,我相信它能帮到你。
long diffInMillis = dtEndDate.getTimeInMillis() - dtStartDate.getTimeInMillis();
这要看你想要什么。如果要获取毫秒差异,请使用dtStartDate.getTime() - dtEndDate.getTime()
。
如果要获取天数、小时数等差异,请使用Calendar类(例如after、before、compareTo、roll等方法)。
24*60*60*1000.0
。 - aioobe