// JavaScript Document
function ShowDate() {

	var today = new Date();
	var time = document.getElementById("serDate").value;
	today.setTime(time);
	
	var d = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
	var DDDD;
	
	var month;
	var day;
	
	if( today.getMonth() + 1 < 10 )
	{
		month = "0" + (today.getMonth() + 1);
	}
	else
	{
		month = "" + (today.getMonth() + 1);
	}
	
	if( today.getDate() < 10 )
	{
		day = "0" + today.getDate();
	}
	else
	{
		day = "" + today.getDate();
	}
	
	//公历
	DDDD = "今天是：" + today.getFullYear() + "年 " + month + "月" + day + "日";
	//星期
	DDDD = DDDD + " " + d[today.getDay()];
	//农历
	DDDD = DDDD + "    农历：" + (CnDateofDateStr(today));
	//节气
	//DDDD = DDDD + " " + SolarTerm(today);
	
	document.write(DDDD);
}


function showManageTime(time)
{
	var today = new Date();
	today.setTime(time);
	
	var d = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
	var DDDD;
	
	var month;
	var day;
	
	if( today.getMonth() + 1 < 10 )
	{
		month = "0" + (today.getMonth() + 1);
	}
	else
	{
		month = "" + (today.getMonth() + 1);
	}
	
	if( today.getDate() < 10 )
	{
		day = "0" + today.getDate();
	}
	else
	{
		day = "" + today.getDate();
	}
	
	//公历
	DDDD = "今天是：" + today.getFullYear() + "年 " + month + "月" + day + "日";
	//星期
	DDDD = DDDD + " " + d[today.getDay()];
	
	document.write(DDDD);

}


function CnDateofDateStr(DateGL) {
	if (CnMonthofDate(DateGL) == "\u96f6\u6708") {
		return "请调整计算机日期";
	} else {
		return CnYearofDate(DateGL) + " " + CnMonthofDate(DateGL) + CnDayofDate(DateGL);
	}
}

//农历年
function CnYearofDate(DateGL) {
	var YYYY = DateGL.getFullYear();
	var MM = DateGL.getMonth() + 1;
	var CnMM = parseInt(Math.abs(CnDateofDate(DateGL)) / 100);
	if (YYYY < 100) {
		YYYY += 1900;
	}
	if (CnMM > MM) {
		YYYY -= 1;
	}
	YYYY -= 1864;
	return CnEra(YYYY) + "\u5e74";
}


//农历月
function CnMonthofDate(DateGL) {
	var CnMonthStr = new Array("\u96f6", "\u6b63", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341", "\u51ac", "\u814a");
	var Month;
	Month = parseInt(CnDateofDate(DateGL) / 100);
	if (Month < 0) {
		return "\u95f0" + CnMonthStr[-Month] + "\u6708";
	} else {
		return CnMonthStr[Month] + "\u6708";
	}
}


//农历天
function CnDayofDate(DateGL) {
	var CnDayStr = new Array("\u96f6", "\u521d\u4e00", "\u521d\u4e8c", "\u521d\u4e09", "\u521d\u56db", "\u521d\u4e94", "\u521d\u516d", "\u521d\u4e03", "\u521d\u516b", "\u521d\u4e5d", "\u521d\u5341", "\u5341\u4e00", "\u5341\u4e8c", "\u5341\u4e09", "\u5341\u56db", "\u5341\u4e94", "\u5341\u516d", "\u5341\u4e03", "\u5341\u516b", "\u5341\u4e5d", "\u4e8c\u5341", "\u5eff\u4e00", "\u5eff\u4e8c", "\u5eff\u4e09", "\u5eff\u56db", "\u5eff\u4e94", "\u5eff\u516d", "\u5eff\u4e03", "\u5eff\u516b", "\u5eff\u4e5d", "\u4e09\u5341");
	var Day;
	Day = (Math.abs(CnDateofDate(DateGL))) % 100;
	return CnDayStr[Day];
}
function DaysNumberofDate(DateGL) {
	return parseInt((Date.parse(DateGL) - Date.parse(DateGL.getFullYear() + "/1/1")) / 86400000) + 1;
}


//日期换算
function CnDateofDate(DateGL) {
	var CnData = new Array(22, 42, 218, 0, 131, 73, 182, 5, 14, 100, 187, 0, 25, 178, 91, 0, 135, 106, 87, 4, 18, 117, 43, 0, 29, 182, 149, 0, 138, 173, 85, 2, 21, 85, 170, 0, 130, 85, 108, 7, 13, 201, 118, 0, 23, 100, 183, 0, 134, 228, 174, 5, 17, 234, 86, 0, 27, 109, 42, 0, 136, 90, 170, 4, 20, 173, 85, 0, 129, 170, 213, 9, 11, 82, 234, 0, 22, 169, 109, 0, 132, 169, 93, 6, 15, 212, 174, 0, 26, 234, 77, 0, 135, 186, 85, 4);
	var CnMonth = new Array();
	var CnMonthDays = new Array();
	var CnBeginDay;
	var LeapMonth;
	var Bytes = new Array();
	var I;
	var CnMonthData;
	var DaysCount;
	var CnDaysCount;
	var ResultMonth;
	var ResultDay;
	var yyyy = DateGL.getFullYear();
	var mm = DateGL.getMonth() + 1;
	var dd = DateGL.getDate();
	if (yyyy < 100) {
		yyyy += 1900;
	}
	if ((yyyy < 1997) || (yyyy > 2020)) {
		return 0;
	}
	Bytes[0] = CnData[(yyyy - 1997) * 4];
	Bytes[1] = CnData[(yyyy - 1997) * 4 + 1];
	Bytes[2] = CnData[(yyyy - 1997) * 4 + 2];
	Bytes[3] = CnData[(yyyy - 1997) * 4 + 3];
	if ((Bytes[0] & 128) !== 0) {
		CnMonth[0] = 12;
	} else {
		CnMonth[0] = 11;
	}
	CnBeginDay = (Bytes[0] & 127);
	CnMonthData = Bytes[1];
	CnMonthData = CnMonthData << 8;
	CnMonthData = CnMonthData | Bytes[2];
	LeapMonth = Bytes[3];
	for (I = 15; I >= 0; I -= 1) {
		CnMonthDays[15 - I] = 29;
		if (((1 << I) & CnMonthData) !== 0) {
			CnMonthDays[15 - I] += 1;
		}
		if (CnMonth[15 - I] == LeapMonth) {
			CnMonth[15 - I + 1] = -LeapMonth;
		} else {
			if (CnMonth[15 - I] < 0) {
				CnMonth[15 - I + 1] = -CnMonth[15 - I] + 1;
			} else {
				CnMonth[15 - I + 1] = CnMonth[15 - I] + 1;
			}
			if (CnMonth[15 - I + 1] > 12) {
				CnMonth[15 - I + 1] = 1;
			}
		}
	}
	DaysCount = DaysNumberofDate(DateGL) - 1;
	if (DaysCount <= (CnMonthDays[0] - CnBeginDay)) {
		if ((yyyy > 1901) && (CnDateofDate(new Date((yyyy - 1) + "/12/31")) < 0)) {
			ResultMonth = -CnMonth[0];
		} else {
			ResultMonth = CnMonth[0];
		}
		ResultDay = CnBeginDay + DaysCount;
	} else {
		CnDaysCount = CnMonthDays[0] - CnBeginDay;
		I = 1;
		while ((CnDaysCount < DaysCount) && (CnDaysCount + CnMonthDays[I] < DaysCount)) {
			CnDaysCount += CnMonthDays[I];
			I += 1;
		}
		ResultMonth = CnMonth[I];
		ResultDay = DaysCount - CnDaysCount;
	}
	if (ResultMonth > 0) {
		return ResultMonth * 100 + ResultDay;
	} else {
		return ResultMonth * 100 - ResultDay;
	}
}


function DaysNumberofMonth(DateGL) {
	var MM1 = DateGL.getFullYear();
	MM1 < 100 ? MM1 += 1900 : MM1;
	var MM2 = MM1;
	MM1 += "/" + (DateGL.getMonth() + 1);
	MM2 += "/" + (DateGL.getMonth() + 2);
	MM1 += "/1";
	MM2 += "/1";
	return parseInt((Date.parse(MM2) - Date.parse(MM1)) / 86400000);
}


function CnEra(YYYY) {
	var Tiangan = new Array("\u7532", "\u4e59", "\u4e19", "\u4e01", "\u620a", "\u5df1", "\u5e9a", "\u8f9b", "\u58ec", "\u7678");
	//var Dizhi=new Array("子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龙)","巳(蛇)",
	//"午(马)","未(羊)","申(猴)","酉(鸡)","戌(狗)","亥(猪)");
	var Dizhi = new Array("\u5b50", "\u4e11", "\u5bc5", "\u536f", "\u8fb0", "\u5df3", "\u5348", "\u672a", "\u7533", "\u9149", "\u620c", "\u4ea5");
	return Tiangan[YYYY % 10] + Dizhi[YYYY % 12];
}


