62,614
社区成员
发帖
与我相关
我的任务
分享
import java.util.concurrent.TimeUnit;
public long daysBetween(Calendar from,Calendar to){
return TimeUnit.MILLISECONDS.toDays(to.getTimeInMillis() - from.getTimeInMillis());
}
public static int betweenDays(Calendar beginDate, Calendar endDate) {
//可以用正負代表前後
//return (int)((beginDate.getTimeInMillis() - endDate.getTimeInMillis())/(1000*60*60*24));
//不然就取絕對值。
return (int) Math.abs((beginDate.getTimeInMillis() - endDate.getTimeInMillis())/(1000*60*60*24));
}
public int betweenDays(Calendar beginDate, Calendar endDate) {
if (beginDate.get(Calendar.YEAR) == endDate.get(Calendar.YEAR)) {
return endDate.get(Calendar.DAY_OF_YEAR)
- beginDate.get(Calendar.DAY_OF_YEAR);
} else {
if (beginDate.getTimeInMillis() < endDate.getTimeInMillis()) {
int days = beginDate.getActualMaximum(Calendar.DAY_OF_YEAR)
- beginDate.get(Calendar.DAY_OF_YEAR)
+ endDate.get(Calendar.DAY_OF_YEAR);
for (int i = beginDate.get(Calendar.YEAR) + 1; i < endDate
.get(Calendar.YEAR); i++) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, i);
days += c.getActualMaximum(Calendar.DAY_OF_YEAR);
}
return days;
} else {
int days = endDate.getActualMaximum(Calendar.DAY_OF_YEAR)
- endDate.get(Calendar.DAY_OF_YEAR)
+ beginDate.get(Calendar.DAY_OF_YEAR);
for (int i = endDate.get(Calendar.YEAR) + 1; i < beginDate
.get(Calendar.YEAR); i++) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, i);
days += c.getActualMaximum(Calendar.DAY_OF_YEAR);
}
return days;
}
}
}
public long differDays(String date)
{
long differDays = 0;
long DAY = 24L * 60L * 60L * 1000L;
SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd" );
Date todayDate = new java.sql.Date(new Date().getTime());
Date paraDate = null;
try {
paraDate = df.parse( date );
} catch (ParseException e)
{
e.printStackTrace();
}
differDays = ( todayDate.getTime() - paraDate.getTime() ) / DAY ;
return differDays;
}
ObjectOutputStream obj = new ObjectOutputStream(new FileOutputStream("date6.txt"));
obj.writeObject(date);
obj.close();