如何用JavaScript编写一个万年历
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用JavaScript编写一个万年历相关的知识,希望对你有一定的参考价值。
<html><head>
<base fptype="TRUE">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>本地时间</title>
<script>setInterval("jnkc.innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);</script>
<marquee scrollamount=8><div id='jnkc'></div>
</marquee>
</head>
<body>
<script language=javascript>
function settab()
var tab=document.getElementById('tab1');
//alert(se1.options[se1.selectedIndex].text)
var se11=se1.options[se1.selectedIndex].text;
var se21=se2.options[se2.selectedIndex].text;//下拉列表中的日期
//alert(se11+","+se21)
var lastday=new Date(se11,se21,0).getDate();//所选择月的天数
var firstday=new Date(se11,se21-1,1).getDay();//选择月的第一天是星期几
//alert(lastday+","+firstday)
var weekend;//每周的最后一天的日期
var lines;//第几行,相对于表格,星期为第零行
//第一行日期
for(var lin1=0;lin1<7;lin1++)
if(lin1<firstday)
tab.rows[1].cells[lin1].innerHTML=" ";
else
if(lin1==0||lin1==6)
tab.rows[1].cells[lin1].innerHTML="<font color=red>"+(lin1-firstday+1)+"</font>";
else
tab.rows[1].cells[lin1].innerHTML=lin1-firstday+1;
//alert(lin1+","+firstday)
weekend=lin1-firstday+1;
lines=1;//第一行
//将最后2行值空之后再添加数据,以免遗留上一个月的数据,二行相对于非闰年的二月份
for(var i=0;i<7;i++)
tab.rows[5].cells[i].innerHTML=" ";
tab.rows[6].cells[i].innerHTML=" ";
while(weekend<lastday)//循环到月末
for(var lin2=0;lin2<7;lin2++)
if(weekend+lin2<lastday)//数字小于等于当前月的最后一天
if(lin2==0||lin2==6)
tab.rows[lines+1].cells[lin2].innerHTML="<font color=red>"+(weekend+1+lin2)+"</font>";
else
tab.rows[lines+1].cells[lin2].innerHTML=weekend+1+lin2;
参考技术A import java.io.*;
class putout
public void putout(int f,int x,int y)
int i;
int a[]= new int[40];
System.out.println(-#34; 日 一 二 三 四 五 六 -#34;+-#34; -#34;+f+-#34;月-#34;);
for (i=0;i-#60;x;i++)
System.out.print(-#34; -#34;);
for(i=x;i-#60;x+y;i++)
a[i]=i-x+1;
for(i=x;i-#60;x+y;i++)
if ((i%7==0)-#38;-#38;(i-#62;0))
System.out.print(-#34;/n-#34;);
if (a[i]-#60;10)
System.out.print(-#34; -#34;+a[i]);
else System.out.print(-#34; -#34;+a[i]);
System.out.println(-#34;/n-#34;);
class st
public static void main(String args[])throws IOException
putout p=new putout();
int year,mouth,y=1,t,i;
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
System.out.print(-#34;请输入一个年份:-#34;);
String s=in.readLine();
year=Integer.parseInt(s);
if((year%4==0 -#38;-#38; year%100!=0)||(year%400==0))
mouth=1;
else
mouth=0;
y=year;
for(i=1;i-#60;year;i++)
if((i%4==0 -#38;-#38; i%100!=0)||(i%400==0))<br/>y++;
y=y%7;
for(i=1;i-#60;13;i++)
switch(i)
case 1: p.putout(1,y,31);y=(y+31)%7;break;
case 2: p.putout(2,y,28+mouth);y=(y+28+mouth)%7;break;
case 3: p.putout(3,y,31);y=(y+31)%7;break;
case 4: p.putout(4,y,30);y=(y+30)%7;break;
case 5: p.putout(5,y,31);y=(y+31)%7;break;
case 6: p.putout(6,y,30);y=(y+30)%7;break;
case 7: p.putout(7,y,31);y=(y+31)%7;break;
case 8: p.putout(8,y,31);y=(y+31)%7;break;
case 9: p.putout(9,y,30);y=(y+30)%7;break;
case 10: p.putout(10,y,31);y=(y+31)%7;break;
case 11: p.putout(11,y,30);y=(y+30)%7;break;
case 12: p.putout(12,y,31);y=(y+31)%7;break;
参考技术B 网易126邮箱上有一个,你打开这个网址可以看到 http://mimg.126.com/assist/calendar/index.htm,把网页另存为本地文件就是万年历了。如果不懂网页源代码留下你的Email,我发你邮箱里面
以上是关于如何用JavaScript编写一个万年历的主要内容,如果未能解决你的问题,请参考以下文章