import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateBetween {
/* Method untuk menghitung selisih hari */
private static long daysBetween(Calendar startDate, Calendar endDate) {
Calendar date = (Calendar) startDate.clone();
long daysBetween = 0;
if(date.before(endDate)){
while (date.before(endDate)) {
date.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
}
else if(date.after(endDate)){
while (date.after(endDate)) {
date.add(Calendar.DAY_OF_MONTH, -1);
daysBetween++;
}
}
return daysBetween;
}
/* Method untuk convert String menjadi Date */
private Date convertStringToDate(String strDate) {
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date tanggal = null;
try {
tanggal = (Date)sdf.parse(strDate);
} catch (ParseException ex) {
System.out.println(ex.getMessage());
}
return tanggal;
}
public static void main(String[] args) {
String strDate1 = "15-12-2008";
String strDate2 = "18-12-2008";
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
DateBetween between = new DateBetween();
Calendar cal1 = Calendar.getInstance();
Date d1 = between.convertStringToDate(strDate1);
cal1.setTime(d1);
Calendar cal2 = Calendar.getInstance();
Date d2 = between.convertStringToDate(strDate2);
cal2.setTime(d2);
System.out.println("Selisih tanggal " + strDate2 +" dan " + strDate1 +" adalah = " + between.daysBetween(cal2, cal1));
}
}
========================
HASIL :
Tanggal sekarang : 15-12-2008
Tanggal nanti : 18-12-2008
Selisih hari : 3

Tidak ada komentar:
Posting Komentar