电子日历
来源:互联网 发布:游戏编程入门先学什么 编辑:程序博客网 时间:2024/04/27 17:32
<HTML>
<HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
</HEAD>
<SCRIPT language=JavaScript>
function leap( year)
{
if(((year%100)==0)||((year%4)==0))
{
return 0; //0为闰年
}
else
{
return 1; //1为非闰年
}
}
function leapSum(yearFrom, yearTo)
{
var from = yearFrom;
var to = yearTo;
if (yearTo < yearFrom)
{
var from = yearTo;
var to = yearFrom;
}
var sum = 0;
var i;
for (i = from; i < to; i++)
{
if (0 == leap(i))
{
sum++;
}
}
if (yearTo > yearFrom)
{
sum = 0 - sum;
}
return sum;
}
function weekAfterDays(days, weekStartno)
{
var weekno = (weekStartno + days) % 7;
//weekno = (weekno == 0)?7:weekno;
weekno = (weekno < 0)?7 + weekno:weekno;
return weekno;
}
function weekOfJanFirst(year)
{
var leapSumFrom1994 = leapSum(year, 1994);
var daysFrom1994 = (year - 1994) * 365 + leapSumFrom1994;
var weekno = weekAfterDays(daysFrom1994, 6);
return weekno;
}
function monthArr(year)
{
if (0 ==leap(year))
{
return [31,29,31,30,31,30,31,31,30,31,30,31];
}
else
{
return [31,28,31,30,31,30,31,31,30,31,30,31];
}
}
function DaysOfYear(year, month)
{
var months = monthArr(year);
var sum = 0;
var i;
for (i = 0; i < month - 1; i++)
{
sum = sum + months[i];
}
return sum;
}
function weekOfFirst(year, month)
{
var firstOfweekno = weekOfJanFirst(year);
var days = DaysOfYear(year, month);
var weekno = weekAfterDays(days, firstOfweekno);
return weekno;
}
function weekNo(year, month, day)
{
var firstOfweekno = weekOfFirst(year, month);
var weekno = weekAfterDays(day - 1, firstOfweekno);
return weekno;
}
function calendaTable()
{
document.write('<TABLE border=0 width=300>');
document.write('<TR><TD bgColor=#00abab colSpan=7><FONT color=#ffffff size=2 style="FONT-SIZE: 9pt">阳历');
//Add selector
document.write('<SELECT id="SY" onchange=changeCld() style="FONT-SIZE: 9pt">');
for(i=1900;i<2050;i++)
{
document.write('<option>'+i) ;
}
document.write('</SELECT>年');
document.write('<SELECT id="SM" onchange=changeCld() style="FONT-SIZE: 9pt">');
for(i=1;i<13;i++)
{
document.write('<option>'+i) ;
}
document.write('</SELECT>月</FONT></TD></TR>');
//End Adding selector
//Initialize selector
var today = new Date();
var SY = document.getElementById("SY");
var SM = document.getElementById("SM");
SY.selectedIndex = today.getYear() - 1900; // This part need to differ IE from FireFox. FireFox need not minus 1900.
SM.selectedIndex = today.getMonth();
//End Initializing selector
//Add calenda head
document.write('<TR align=middle bgColor=#e0e0e0> ');
document.write('<TD width=54 style="FONT-SIZE: 9pt">日</TD>');
document.write('<TD width=54 style="FONT-SIZE: 9pt">一</TD>');
document.write('<TD width=54 style="FONT-SIZE: 9pt">二</TD>');
document.write('<TD width=54 style="FONT-SIZE: 9pt">三</TD>');
document.write('<TD width=54 style="FONT-SIZE: 9pt">四</TD>');
document.write('<TD width=54 style="FONT-SIZE: 9pt">五</TD>');
document.write('<TD width=54 style="FONT-SIZE: 9pt">六</TD>');
document.write('</TR>');
//End Adding calenda head
//Generate table content cell
var i=0;
for (i=0; i<6; i++)
{
document.write('<tr align=center>');
var j;
for (j=0; j<7; j++)
{
var gNum = i*7+j;
var idStr = "id" + gNum;
document.write('<td id=');
document.write(idStr);
document.write(' style="FONT-SIZE: 9pt"> </td>');
var col = document.getElementById(idStr);
col.appendChild(document.createTextNode(''));
}
document.write('</tr>');
}
//End Generating table content cell
document.write('</TABLE>');
}
function calenda(year, month, today)
{
var day;
var bstart;
var months = monthArr(year);
var i;
for(i=0;i<6;i++)
{
var j;
for(j=0;j<7;j++)
{
var gNum = i*7+j;
var idStr = "id" + gNum;
var col = document.getElementById(idStr);
if ((0 == i) && (j == weekOfFirst(year, month)))
{
day = 1;
bstart = 1;
}
if (1 == bstart)
{
col.firstChild.data=day;
col.style.color="black";
if ((0==j)||(6==j))
{
col.style.color="green";
}
if (today == day)
{
col.style.color="red";
}
day++;
if (day > months[month -1])
{
bstart = 0;
}
}
else
{
col.firstChild.data=' ';
}
}
}
}
function changeCld()
{
var y,m;
var SY = document.getElementById("SY");
var SM = document.getElementById("SM");
y=SY.selectedIndex + 1900;
m=SM.selectedIndex + 1; // If fireFox no need to add 1;
var today = new Date();
calenda(y, m, today.getDate());
}
</SCRIPT>
<BODY>
<SCRIPT language=JavaScript>
<!--
calendaTable();
var today = new Date();
calenda(today.getYear(), today.getMonth() + 1, today.getDate());
//--></SCRIPT>
</TBODY></TABLE>
</BODY>
</HTML>
- 电子日历
- 电子日历
- 一个电子日历
- 数码电子日历时间
- 用VB.net2008编写精美电子日历
- C51数字电子日历/时钟设计
- 我自己用c++语言编的电子日历
- 前端模型--纯js实现简易日历&&电子时钟
- 电子
- 电子
- 电子
- 电子
- 电子
- 日历
- 日历
- 日历
- 日历
- 日历
- 《ASP.NET AJAX 应用剖析立即上手》推荐序!
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- 门户软件的价值不在门户本身
- JBoss Seam 手册
- Eclipse发布Web Tools Project 1.0
- 电子日历
- 看了一个月资料,写一篇论文读书心得
- 谈谈在WebServer中如何实现CGI技术
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- eXo 门户集成了更多的JCR,CMS,商业智能和Groupware
- 精彩语录妙趣横生惊人之语
- 使用开源的数据挖掘软件Weka
- 使用Linux实现廉价的备份服务器
- 2006世界杯主题曲-Time Of Our Lives