日历

1.判断闰年

成都创新互联公司自2013年起,先为临沂等服务建站,临沂等地企业,进行企业商务咨询服务。为临沂企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

2.通过年和月的确定  判断月有几天

3.通过年 月 日  来判断星期几  基姆拉尔森计算公式


 

 

  1. using System; 
  2. using System.Text; 
  3. using System.Configuration; 
  4. using System.Data; 
  5. using System.Linq; 
  6. using System.Web; 
  7. using System.Web.Security; 
  8. using System.Web.UI; 
  9. using System.Web.UI.HtmlControls; 
  10. using System.Web.UI.WebControls; 
  11. using System.Web.UI.WebControls.WebParts; 
  12. using System.Xml.Linq; 
  13. using System.Collections; 
  14.  
  15. namespace 日历 
  16.     public partial class _Default : System.Web.UI.Page 
  17.     { 
  18.         protected void Page_Load(object sender, EventArgs e) 
  19.         { 
  20.             if (!IsPostBack) //该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问,如果是为响应客户端回发而加载该页,则为true;否则为 false。 
  21.             { 
  22.                  ArrayList arrList1 = new ArrayList();                       
  23.                 for (int i = 2000; i <= 2012; i++) 
  24.                 { 
  25.                     arrList1.Add(i);                                 
  26.  
  27.                 } 
  28.                year.DataSource = arrList1;                           
  29.                 year.DataBind();         
  30.             
  31.                 ArrayList arrList2 = new ArrayList();                        
  32.                 for (int i = 1; i <= 12; i++) 
  33.                 { 
  34.                     arrList2.Add(i);                                 
  35.  
  36.                 } 
  37.                 month.DataSource = arrList2;                             
  38.                 month.DataBind(); 
  39.                   
  40.                 ArrayList arrList3 = new ArrayList();                        
  41.                 for (int i = 1; i <= 31; i++) 
  42.                 { 
  43.                     arrList3.Add(i);                                 
  44.  
  45.                 } 
  46.                 
  47.                 
  48.                     day.DataSource = arrList3;                           
  49.                     day.DataBind(); 
  50.  
  51.                     
  52.  
  53.                    
  54.             } 
  55.         } 
  56.  
  57.         protected void day_SelectedIndexChanged(object sender, EventArgs e) 
  58.         { 
  59.             int[] a = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };   //将数组作为控件数据源 
  60.             int[] b = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; 
  61.             int s1 = Int32.Parse(year.Text); 
  62.             int s2 = Int32.Parse(month.Text); 
  63.             int s3 = Int32.Parse(day.Text); 
  64.             
  65.             
  66.             if ((s1%4 == 0 && s1%100 != 0) || (s1%400 == 0)) //判断闰年 
  67.             { 
  68.                 
  69.                  ArrayList arrList3 = new ArrayList();                       
  70.                 for (int i = 1; i <= b[s2-1]; i++)          //是闰年  则用b数组中的天数 
  71.                 { 
  72.                     arrList3.Add(i);                                 
  73.                      
  74.                 } 
  75.                 day.DataSource = arrList3;                           
  76.                 day.DataBind();  
  77.              } 
  78.             else 
  79.             { 
  80.  
  81.                 ArrayList arrList3 = new ArrayList(); 
  82.                 for (int i = 1; i <= a[s2 - 1]; i++)      //不是闰年  则用a数组中的天数 
  83.                 { 
  84.                     arrList3.Add(i);                                 
  85.  
  86.                 } 
  87.                 day.DataSource = arrList3;                           
  88.                 day.DataBind();  
  89.             } 
  90.                          
  91.  
  92.             xinqi.Text = caculateweekday(s1, s2, s3); 
  93.          } 
  94.  
  95.  
  96.         String caculateweekday(int y, int m, int d)      //计算星期几   
  97.         { 
  98.             if (m == 1) { m = 13; y--; } 
  99.             if (m == 2) { m = 14; y--; } 
  100.             int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7 + 1;//基姆拉尔森计算公式 
  101.             string weekstr = ""; 
  102.             switch (week) 
  103.             { 
  104.                 case 1: weekstr = "星期一"; break; 
  105.                 case 2: weekstr = "星期二"; break; 
  106.                 case 3: weekstr = "星期三"; break; 
  107.                 case 4: weekstr = "星期四"; break; 
  108.                 case 5: weekstr = "星期五"; break; 
  109.                 case 6: weekstr = "星期六"; break; 
  110.                 case 7: weekstr = "星期日"; break; 
  111.             } 
  112.             return weekstr; 
  113.         } 
  114.  
  115.         protected void zz(object sender, EventArgs e)         //改变天数时  改变星期数  我觉得这里可以优化 
  116.         { 
  117.             int s1 = Int32.Parse(year.Text); 
  118.             int s2 = Int32.Parse(month.Text); 
  119.             int s3 = Int32.Parse(day.Text); 
  120.             xinqi.Text = caculateweekday(s1, s2, s3); 
  121.         } 
  122.  
  123.        
  124.               
  125.     } 
  126.      

 


本文名称:日历
URL标题:http://scyanting.com/article/gcedoi.html