
function DateUtils() {
}

DateUtils.addMonth = _addMonth;
DateUtils.diffMonth = _diffMonth;
DateUtils.formatYMD = _formatYMD;
DateUtils.formatYM = _formatYM;


function _diffMonth(d1, d2) {
	var sign = (d1.getTime() > d2.getTime()) ? 1 : -1;

	var m1 = d1.getFullYear() * 12 + d1.getMonth();
	var m2 = d2.getFullYear() * 12 + d2.getMonth();

	var m = m1 - m2;
	return m;
}

function _addMonth(d, month) {
	if (month > 0) {
		var y = d.getFullYear() + Math.floor((month - 1) / 12);
		var m = (d.getMonth() + 1) + (((month - 1) % 12) + 1);

		y += Math.floor((m - 1) / 12)
		m = ((m - 1) % 12) + 1;

		d.setYear(y);
		d.setMonth(m - 1);
	}
	return d;
}

function _formatYMD(d) {
	if (d == null) {
		return "null";
	}
	return d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate();
}

function _formatYM(d) {
	if (d == null) {
		return "null";
	}
	return d.getFullYear() + "/" + (d.getMonth() + 1);
}
