asp.net的日历

原贴:http://blog.csdn.net/21aspnet/archive/2007/05/14/1607712.aspx

日历控件是我们经常使用的,本文把常用的几款日历总结如下。 

1.下拉日历梅花雨版第1款
点评:
最经典的几乎完美了。

代码:

<% @ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  %>


< html   >
< head  runat ="server" >
    
< title > 日历控件 </ title >
< script  type ="text/javascript"  src ="calendar.js" ></ script >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
        
< input  id ="Text1"  type ="text"   onFocus =calendar()  />
       
</ div >
    
</ form >
</ body >
</ html >

 calendar.js

calendar.js 注意存为带签名的utf-8

梅花雨版第2款
点评:
比上一款大些,色彩淡一点。

 

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2"  %>
< html >
< head  runat ="server" >
    
< title > 日历控件 </ title >
    
< script  type ="text/javascript"  src ="calendar.js" ></ script >

</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
    
< input  onfocus ="setday(this);"  name ="Calendar1"  type ="text"  id ="Calendar1"    />
    
</ div >
    
</ form >
</ body >
</ html >

calendar.js http://download1.csdn.net/down3/20070514/14080517354.js


 2.万年历
点评:可以自定义节日,是很多系统里做装饰的

 

 

<% @ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default"  %>


< html >
< head  runat ="server" >
    
< title > 日历控件 </ title >
< script  type ="text/javascript"  src ="wnl.js" ></ script >
< SCRIPT  language =JavaScript >
function click() 
{
if (event.button==2{alert('欢迎访问——农历与西历对照') }
}

document.onmousedown
=click
</ SCRIPT >

< STYLE > .todyaColor {
    BACKGROUND-COLOR
: aqua
}

</ STYLE >
</ head >
< BODY  leftMargin =5  topMargin =1  onload =initial() >
< SCRIPT  language =JavaScript > <!--
   
if(navigator.appName == "Netscape" || parseInt(navigator.appVersion) < 4)
   document.write(
"<h1>你的浏览器无法执行此程序。</h1>此程序在 IE4 以后的版本才能执行!!")
//--></SCRIPT>

<DIV id=detail style="POSITION: absolute"></DIV>
<CENTER>
<FORM name=CLD>
<TABLE>
  
<TBODY>
  
<TR>
    
<TD align=middle>
      
<DIV style="Z-INDEX: -1; POSITION: absolute; TOP: 30px"><FONT id=YMBG 
      style
="FONT-SIZE: 80pt; COLOR: #e0e0e0; FONT-FAMILY: 'Arial Black'"><BR>JUN</FONT> 
      
</DIV>
      
<TABLE border=0>
        
<TBODY>
        
<TR>
          
<TD bgColor=#00ffff colSpan=7><FONT style="FONT-SIZE: 9pt" 
            color
=#333333 size=2>西历 <SELECT style="FONT-SIZE: 9pt" 
            onchange
=changeCld() name=SY> 
              
<SCRIPT language=JavaScript><!--
            
for(i=1900;i<2050;i++) document.write('<option>'+i)
            
//--></SCRIPT>
            </SELECT>年 <SELECT style="FONT-SIZE: 9pt" onchange=changeCld() 
            name
=SM> 
              
<SCRIPT language=JavaScript><!--
            
for(i=1;i<13;i++) document.write('<option>'+i)
            
//--></SCRIPT>
            </SELECT>月 </FONT><FONT id=GZ face=宋体 color=#333333 
            size
=4></FONT><BR></TD></TR>
        
<TR align=middle bgColor=#e0e0e0>
          
<TD width=54></TD>
          
<TD width=54></TD>
          
<TD width=54></TD>
          
<TD width=50></TD>
          
<TD width=54></TD>
          
<TD width=54></TD>
          
<TD width=54></TD></TR>
        
<SCRIPT language=JavaScript><!--
            
var gNum
            
for(i=0;i<6;i++
            
{
               document.write(
'<tr align=center>')
               
for(j=0;j<7;j++
               
{
                  gNum 
= i*7+j
                  document.write(
'<td id="GD' + gNum +'" onMouseOver="mOvr(' + gNum +')" onMouseOut="mOut()"><font id="SD' + gNum +'" size=5 face="Arial Black"')
                  
if(j == 0) document.write(' color=red')
                  
if(j == 6)
                    
if(i%2==1) document.write(' color=red')
                    
else document.write(' color=green')
                  document.write(
' TITLE=""> </font><br><font id="LD' + gNum + '" size=2 style="font-size:9pt"> </font></td>')
               }

               document.write(
'</tr>')
            }

            
//--></SCRIPT>
        </TBODY></TABLE></TD>
    
<TD vAlign=top align=middle width=60><BR><BR><BR><BR><BUTTON 
      style
="FONT-SIZE: 9pt" onclick="pushBtm('YD')">年↑</BUTTON><BR><BUTTON 
      style
="FONT-SIZE: 9pt" onclick="pushBtm('YU')">年↓</BUTTON> 
      
<P><BUTTON style="FONT-SIZE: 9pt" 
      onclick
="pushBtm('MD')">月↑</BUTTON><BR><BUTTON style="FONT-SIZE: 9pt" 
      onclick
="pushBtm('MU')">月↓</BUTTON> </P>
      
<P><BUTTON style="FONT-SIZE: 9pt" onclick="pushBtm('')">当月</BUTTON> </P>
      
<P><INPUT style="FONT-SIZE: 9pt" onclick="javascript: window.close()" type=button value=关闭> 
      
</P></TD></TR></TBODY></TABLE></FORM></CENTER></BODY>
</html>

 wnl.js http://download1.csdn.net/down3/20070514/14080418581.js

 3.Flash日历
点评:可切换时钟日历2种状态,不过可惜不能选择,只能看而已,似乎作者没有写版权,好想其拉类似的都写个版权。

日历状态:


时间状态:

clock.swf http://download1.csdn.net/down3/20070514/14083110727.swf


4.仿Windows风格系统时间和日历
点评:
没有和textbox结合

仿系统日历和时间钟.htm http://download1.csdn.net/down3/20070514/14085438917.htm

5.仿Windows风格系统时间和日历
点评:
和textbox结合

 


< HTML >< HEAD >< TITLE > http://blog.csdn.net/21aspnet/ </ TITLE >
< META  http-equiv =Content-Type  content ="text/html; charset=utf-8" >
< META  content ="MSHTML 6.00.3790.0"  name =GENERATOR >
< META  content =C#  name =CODE_LANGUAGE >
< META  content =JavaScript  name =vs_defaultClientScript >
< META  content =http://schemas.microsoft.com/intellisense/ie5 
name =vs_targetSchema >
< script  lanuage ='javascript' >
        
function Calendar(obj)
        
{
            
var showx = event.screenX - event.offsetX - 4 - 

210 ; // + deltaX;
            var showy = event.screenY - event.offsetY + 18

// + deltaY;
            var newWINwidth = 210 + 4 + 18;
            
            
    
            
var retval = window.showModalDialog

(
'cal.htm',obj.value, 

'dialogWidth:206px;dialogHeight:221px;dialogLeft:'+showx+'px; 

dialogTop:
'+showy+'px;status:0;help:0;scroll:0');
            
if( retval != null )
            
{
                obj.value 
= retval;
            }
    
        }

        
</ script >
</ HEAD >
< BODY  bgColor =white  leftMargin =0  topMargin =0 >
< FORM  id =Form1  name =Form1  action =Search.aspx  method =post >
< input  name ="tbGreateTime"  type ="text"  value =""  id ="tbGreateTime"  

readonly
="true"  onclick ="javascript:Calendar(this);"  

style
="width:70px;cursor:hand;"   />
</ body >
</ html >

图片和日历rar

 

6.当前时间

 

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< title > 时钟 </ title >
< script  language ="VBScript" >
<!--
sub show_time()
frmclock.txtDate.value
=date()
frmclock.txtTime.value
=time()
settimeout
"show_time",1000
end sub
-->

</ script >


</ head >

< body  onLoad =show_time() >
< form  name ="frmClock"   >
  
< font  size ="2" > 今天是: 
  
< input  type ="text"  name ="txtDate"  value ="" >
  
< br >
  时间是:
</ font >< font  size ="2" >   
  
< input  type ="text"  name ="txtTime"  value ="" >
        
</ font ></ form >
</ body >
</ html >

7.动态版权
做网站很多时候要写版权的时间。

 

< SCRIPT > document.write( " 1999- " + ( new  Date()).getYear()) </ SCRIPT >

 

8.最常用最短小精悍的日历

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< title > 每天日历 </ title >
</ head >

< body >
< script  language ="JavaScript"  type ="text/JavaScript" >
var day="";
var month="";
var ampm="";
var ampmhour="";
var myweekday="";
var year="";
mydate
=new Date();
myweekday
=mydate.getDay();
mymonth
=mydate.getMonth()+1;
myday
= mydate.getDate();
myyear
= mydate.getYear();
year
=(myyear > 200? myyear : 1900 + myyear;
if(myweekday == 0)
weekday
=" 星期日 ";
else if(myweekday == 1)
weekday
=" 星期一 ";
else if(myweekday == 2)
weekday
=" 星期二 ";
else if(myweekday == 3)
weekday
=" 星期三 ";
else if(myweekday == 4)
weekday
=" 星期四 ";
else if(myweekday == 5)
weekday
=" 星期五 ";
else if(myweekday == 6)
weekday
=" 星期六 ";
document.write(year
+""+mymonth+""+myday+"日 "+weekday);
</ script >
</ body >
</ html >

9.下拉日历

< form >
< select  id =year  onchange =toDate() >
< script > for(i=1970;i<=2010;i++)document.write("<option>"+i+"</option>") </ script >
</ select >
< select  id =month  onchange =toDate() >
< script > for(i=1;i<=12;i++)document.write("<option>"+i+"</option>") </ script >
</ select >
< select  id =day  onchange =toDay() ></ select >
< input  name =weekday >
</ form >
< script >
var arr="日一二三四五六".split("")

function toDate(){
    
with(document.all){
        vYear
=parseInt(year.options[year.selectedIndex].text)
        vMonth
=parseInt(month.options[month.selectedIndex].text)
        day.length
=0;
        
for(i=0;i<(new Date(vYear,vMonth,0)).getDate();i++){day.options[day.length++].value=day.length;day.options[day.length-1].text=day.length;}
    }

    toDay();
}


function toDay(){
    vDay
=parseInt(document.all.day.options[document.all.day.selectedIndex].value)
    document.all(
"weekday").value="星期"+arr[new Date(vYear,vMonth-1,vDay).getDay()]
}


window.onload
=toDate;
</ script >

10.农历

< script  language ="JavaScript" >
<!--
function CalConv()
 
{
 FIRSTYEAR 
= 1998;
 LASTYEAR 
= 2031;
 today 
= new Date();
 SolarYear 
= today.getFullYear();
 SolarMonth 
= today.getMonth() + 1;
 SolarDate 
= today.getDate();
 Weekday 
= today.getDay();
 LunarCal 
= [
  
new tagLunarCal( 27,  53431001001101101 ),
  
new tagLunarCal( 46,  04481001001011101 ), /* 88 */
  
new tagLunarCal( 35,  05531100100101101 ), /* 89 */
  
new tagLunarCal( 23,  40591101010010101 ),
  
new tagLunarCal( 42,  01,  41101010010101 ),
  
new tagLunarCal( 31,  02,  91101101001010 ),
  
new tagLunarCal( 21,  23140101101010101 ), /* 93 */
  
new tagLunarCal( 39,  05200101011010101 ),
  
new tagLunarCal( 28,  76251010101011011 ),
  
new tagLunarCal( 48,  00300010010111011 ),
  
new tagLunarCal( 37,  01351001001011011 ), /* 97 */
  
new tagLunarCal( 25,  53411100100101011 ),
  
new tagLunarCal( 44,  04461010100101011 ),
  
new tagLunarCal( 33,  05511011010010101 ),
  
new tagLunarCal( 22,  46561011010101010 ), /* 101 */
  
new tagLunarCal( 40,  01,  21011010101010 ),
  
new tagLunarCal( 30,  92,  70101010110101 ),
  
new tagLunarCal( 49,  03120100101110101 ),
  
new tagLunarCal( 38,  04171010010110110 ), /* 105 */
  
new tagLunarCal( 27,  66230101001010111 ),
  
new tagLunarCal( 46,  00280101001010110 ),
  
new tagLunarCal( 35,  01330110100100110 ),
  
new tagLunarCal( 24,  42380111010010101 ), /* 109 */
  
new tagLunarCal( 42,  04440110101010101 ),
  
new tagLunarCal( 31,  05491010110101010 ),
  
new tagLunarCal( 21,  26540101010110101 ),
  
new tagLunarCal( 40,  00590100101101101 ), /* 113 */
  
new tagLunarCal( 28,  62,  51010010101110 ),
  
new tagLunarCal( 47,  03101010010011101 ),
  
new tagLunarCal( 36,  04151101001001101 ),
  
new tagLunarCal( 25,  55201110100100110 ), /* 117 */
  
new tagLunarCal( 43,  00261101010100101 ),
  
new tagLunarCal( 32,  01311101101010100 ),
  
new tagLunarCal( 22,  32360110101101010 ) ];
 
/* 民国年每月之日数 */
 SolarCal 
= [ 312831303130313130313031 ];
 
/* 民国年每月之累积日数, 平年与闰年 */ 
SolarDays 
= [  0315990120151181212243273304334365396,  0316091121152182213244274305335366397 ];
 AnimalIdx 
= ["""""""""""""""""""""""" ];
 LocationIdx 
= [ """""""西" ];
 
if ( SolarYear <= FIRSTYEAR || SolarYear > LASTYEAR ) return 1;
 sm 
= SolarMonth - 1;
  
if ( sm < 0 || sm > 11 ) return 2;
  leap 
= GetLeap( SolarYear );
 
if ( sm == 1 )
  d 
= leap + 28;
 
else
  d 
= SolarCal[sm];
 
if ( SolarDate < 1 || SolarDate > d ) return 3;
 y 
= SolarYear - FIRSTYEAR;
 acc 
= SolarDays[ leap*14 + sm ] + SolarDate;
 kc 
= acc + LunarCal[y].BaseKanChih;
 Kan 
= kc % 10;
 Chih 
= kc % 12;
 Location 
= LocationIdx[kc % 4];
 Age 
= kc % 60;
 
if ( Age < 22 )
  Age 
= 22 - Age;
 
else
  Age 
= 82 - Age;
 Animal 
= AnimalIdx[ Chih ];
 
if ( acc <= LunarCal[y].BaseDays ) {
  y
--;
  LunarYear 
= SolarYear - 1;
  leap 
= GetLeap( LunarYear );
  sm 
+= 12;
  acc 
= SolarDays[leap*14 + sm] + SolarDate;
  }

 
else
  LunarYear 
= SolarYear;
   l1 
= LunarCal[y].BaseDays;
 
for ( i=0; i<13; i++ ) {
  l2 
= l1 + LunarCal[y].MonthDays[i] + 29;
  
if ( acc <= l2 ) break;
  l1 
= l2;
  }

 LunarMonth 
= i + 1;
 LunarDate 
= acc - l1;
 im 
= LunarCal[y].Intercalation;
 
if ( im != 0 && LunarMonth > im ) {
  LunarMonth
--;
  
if ( LunarMonth == im ) LunarMonth = -im;
  }

 
if ( LunarMonth > 12 ) LunarMonth -= 12;
 today
=new Date();
        
function initArray(){
                         
this.length=initArray.arguments.length
                         
for(var i=0;i<this.length;i++)
                         
this[i+1]=initArray.arguments[i]  }

       
var d=new initArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
             document.write(
"<span class="jsdhtml"> ", today.getYear()," 年 ",today.getMonth()+1," 月 ",today.getDate()," 日 ",d[today.getDay()+1],"");
   document.write( 
"<span class="jsdhtml">【<u> 农历 " + LunarMonth + "" + LunarDate + "日</u>】" );
                                        
return 0
}

 
/* 求此民国年是否为闰年, 返回 0 为平年, 1 为闰年 */
function GetLeap( year )
 
{
   
if ( year % 400 == 0 )
     
return 1;
   
else if ( year % 100 == 0 )
     
return 0;
   
else if ( year % 4 == 0 )
     
return 1;
   
else
     
return 0;
 }

function tagLunarCal( d, i, w, k, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13) {
 
this.BaseDays = d;         /* 到民国 1 月 1 日到农历正月初一的累积日数 */
 
this.Intercalation = i;    /* 闰月月份. 0==此年没有闰月 */
 
this.BaseWeekday = w;      /* 此年民国 1 月 1 日为星期几再减 1 */
 
this.BaseKanChih = k;      /* 此年民国 1 月 1 日之干支序号减 1 */
 
this.MonthDays = [ m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13 ]; /* 此农历年每月之大小, 0==小月(29日), 1==大月(30日) */
}

//-->
CalConv();
</ script >


11.年历


< html >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
< title > 万年历 </ title >
< style >
th
{color:#FFF;background-color:#F89807}
td
{color:#000;background-color:#FDEDCC}
input,textarea,th,td
{font-size:9pt}
</ style >
</ head >
< body >
< div  id ="hyout" ></ div >
< script >

var hy=new Date()
var hyd=new Date()
var cnt=new Array("","","","","","","")
function hyout(hyy,hym){
    
var outxt=""
    outxt
+="<table border=0 width=100% cellspacing=0><tr><th><font color=#FFFFFF>"
    outxt
+=hym+"月</font>"
    outxt
+="<table border=0 width=100% cellspacing=1 cellpadding=0><tr align=center>"
    
for(i=0;i<cnt.length;i++){
        outxt
+="<td>"+cnt[i]+"</td>"
    }

    outxt
+="</tr><tr align=center>"
    
var j=0
    hyd.setYear(hyy)
    hyd.setMonth(
--hym)
    hyd.setDate(
1)
    
for(var i=1;i<=42;i++){
        
if((i%7)==1&&i>1)outxt+="</tr><tr align=center>"
        
if((i<=hyd.getDay())||(hyd.getMonth()!=hym)){
            outxt
+="<td> </td>"
        }
else{
            hyd.setDate(
++j)
            
if(hyd.getMonth()==hym){
                
if(hyd.getDate()==hy.getDate()&&hyd.getMonth()==hy.getMonth()&&hyd.getYear()==hy.getYear()){
                    outxt
+="<th>"+j+"</th>"
                }
else{
                    outxt
+="<td>"+j+"</td>"
                }

            }
else{
                outxt
+="<td> </td>"
            }

        }

    }

    outxt
+="</tr></table></th></tr><tr><th></th></tr></table>"
    
return outxt
}

function hyouty(hyy){
    hyy
=parseFloat(0+hyy)
    
if(hyy==0) hyy=hy.getYear()
    outxt
="<table width=100% border=1 bordercolor=#000000><form><tr><td colspan=4 align=right>公元:<input type=text name=hyyear size=4 maxlength=4 value="+hyy+"> 年 <input type=button value=查看 οnclick=hyouty(this.form.hyyear.value)></td></form></tr><tr>"
    
for(var i=1;i<=12;i++){
        
if(i%4==1&&i>1)outxt+="</tr><tr>"
        outxt
+="<td>"+hyout(hyy,i)+"</td>"
    }

    outxt
+="</tr></table>"
    document.all[
"hyout"].innerHTML=outxt
}

hyouty(hy.getYear())
</ script >
</ body >
</ html >  






12.广泛应用的一个日历控件
点评:
本控件界面美观,本人在 多个企业的系统看到该控件,所以分享给大家。

<% @ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2"  %>
< html >
< head  runat ="server" >
    
< title > 日历控件 </ title >
    
< script  type ="text/javascript"  src ="popcalendar.js" ></ script >

</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
    
< asp:textbox  id ="txt_StartCPXG_DATE"  runat ="server"  Width ="100px"  ReadOnly ="True"  CssClass ="edLine" ></ asp:textbox >

        
< img  id ="Image_blqx1"  style ="CURSOR: hand"  onclick ="popUpCalendar(this,document.forms[0].txt_StartCPXG_DATE,'yyyy-mm-dd')"
                                 src
="images/calendar.gif"   /></ div >
    
</ form >
</ body >
</ html >
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值