实现简单日历

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
   
<title></title>
</head>
<body>
   
<form id="form1" runat="server">
   
<div>
        当前年:
<asp:Label ID="lbYear" runat="server" Text=""></asp:Label>
        当前月:
<asp:Label ID="lbMonth" runat="server" Text=""></asp:Label>
       
<asp:Button ID="PreMonth" runat="server" Text="上一月" OnClick="Button_Click" />
       
<asp:Button ID="NextMonth" runat="server" Text="下一月" OnClick="Button_Click" />
   
</div>
   
</form>
</body>
</html>

    int Year
        {
           
get
            {
               
object o = ViewState["Year"];
               
return o == null ? DateTime.Now.Year : Convert.ToInt32(o);
            }
           
set
            {
                ViewState[
"Year"] = value;
            }
        }

       
int Month
        {
           
get
            {
               
object o = ViewState["Month"];
               
return o == null ? DateTime.Now.Month : Convert.ToInt32(o); } set
            {
                ViewState[
"Month"] = value;
            }
        }

       
protected void Page_Load(object sender, EventArgs e)
        {
           
if (!IsPostBack)
            {
                GetWeeks();
            }
        }

       
private void GetWeeks()
        {
            lbYear.Text
= Year.ToString();
            lbMonth.Text
= Month.ToString();

            DateTime dtStart
= new DateTime(Year, Month, 1);
           
while (dtStart.DayOfWeek != DayOfWeek.Monday)
                dtStart
= dtStart.AddDays(-1);
            DateTime dtEnd
= new DateTime(Year, Month, DateTime.DaysInMonth(Year, Month));
           
while (dtEnd.DayOfWeek != DayOfWeek.Sunday)
                dtEnd
= dtEnd.AddDays(1);
           
int i = 1;
           
for (DateTime dt = dtStart; dt <= dtEnd; dt = dt.AddDays(7))
            {
                Response.Write(
"" + i + "周:&nbsp;");
               
for (int j = 0; j < 7; j++)
                {
                    Response.Write(dt.AddDays(j).ToString(
"yyyy-MM-dd") + "&nbsp;&nbsp;&nbsp;");
                }
                Response.Write(
"<br />");
                i
++;
            }
        }

       
protected void Button_Click(object sender, EventArgs e)
        {
            DateTime dt
= new DateTime(Year, Month, 1).AddMonths(sender == PreMonth ? -1 : 1);
            Year
= dt.Year;
            Month
= dt.Month;
            GetWeeks();
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值