Jan 7, 2014

Java DAYS360 Excel

Fungsi DAYS360 merupakan salah satu fungsi dari microsoft excel dimana fungsi DAYS360 mengembalikan jumlah hari antara dua tanggal berdasarkan tahun dengan 360 hari per tahun (dua belas bulan dengan 30 hari per bulan), yang digunakan dalam beberapa perhitungan akuntansi. Gunakan fungsi ini untuk membantu menghitung pembayaran jika sistem akuntansi Anda berdasarkan pada dua belas bulan dengan 30 hari per bulan. Saya Coba Menerapkan fungsi DAYS360 Excel ke Dalam Java, Karena Dalam Pekerjaan Saya, saya membutuhkan fungsi ini.. Oke Kawan.. Mari kita coba

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class DAYS360 {
	public static int calc(Calendar p_startDate, Calendar p_endDate){
		int _dayStartDate	= p_startDate.get(Calendar.DAY_OF_MONTH);
		int _dayEndDate		= p_endDate.get(Calendar.DAY_OF_MONTH);
		int daysDay			= 30-_dayStartDate;
		int result			= (daysDay >= 0 ? daysDay :0 ) + _dayEndDate;
		if(p_startDate.get(Calendar.MONTH)==p_endDate.get(Calendar.MONTH)){
			result-=30;
		}
		return result;	
	}

	public static void main(String []args) throws Exception{
		SimpleDateFormat format=new SimpleDateFormat("dd-MM-yyyy");
		Date startDate=format.parse("11-01-2014");
		Calendar cal_startDate=Calendar.getInstance();
		Calendar cal_endDate=Calendar.getInstance();
		cal_startDate.setTime(startDate);
		for (int i = 0; i < 31; i++) {
			cal_startDate.add(Calendar.DAY_OF_MONTH, 1);
			cal_endDate.setTime(cal_startDate.getTime());
			cal_endDate.add(Calendar.DAY_OF_MONTH, i+1);
			//System.out.println(format.format(cal_startDate.getTime())+ " ## "+format.format(cal_endDate.getTime())+"="+calc(cal_startDate,cal_endDate));
			System.out.println(calc(cal_startDate,cal_endDate));
		}
	}
}

No comments: