62,614
社区成员
发帖
与我相关
我的任务
分享
import org.joda.time.*;
import org.joda.time.format.*;
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyyMMdd");
DateTime d1 = formatter.parseDateTime("20090909");
DateTime d2 = formatter.parseDateTime("20100101");
Period p = new Period(d1,d2,PeriodType.months());
PeriodFormat.getDefault().print(p); // 3 months
java.text.SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String times1="2008-11-15 00:00:00";
Date dates=timeformat.parse(times1);
String times2="2008-11-22 00:00:00";
Date dates2=timeformat.parse(times2);
System.out.println(times2+" "+dates2.getTime());
long adf=dates2.getTime()-dates.getTime();
System.out.println(adf);
System.out.println(adf/604800000)
;
/**
* 求月数差
*
* @param strDate1 日期1 yyyy/MM/dd
* @param strDate2 日期2 yyyy/MM/dd
* @return 月数差
* @throws ParseException 日期格式错误
*/
public static int differenceMonth(String strDate1, String strDate2)
throws ParseException {
Date date1 = DateFormat.getDateInstance().parse(strDate1);
Date date2 = DateFormat.getDateInstance().parse(strDate2);
return differenceMonth(date1,date2);
}
public static int differenceMonth(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(date1);
cal1.set(Calendar.DATE, 1);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2);
cal2.set(Calendar.DATE, 1);
int count = 0;
if (cal1.before(cal2)) {
while (cal1.before(cal2)) {
cal1.add(Calendar.MONTH, 1);
count--;
}
} else {
count--;
while (!cal1.before(cal2)) {
cal1.add(Calendar.MONTH, -1);
count++;
}
}
return count;
}