c#得到本月有几周和这几周的起止时间示例代码
作者:
示例代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<style type="text/css" >
.hidden{ display:none;}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<%
NumWeeks(new DateTime(2009, 11, 15));
%>
<script runat="server" type="text/C#">
/// <summary>
/// 获得本月有几周
/// </summary>
/// <param name="a"></param>
/// <returns></returns>
public void NumWeeks(DateTime dt)
{
//年
int year = dt.Year;
//月
int month = dt.Month;
//当前月第一天
DateTime weekStart = new DateTime(year, month, 1);
//该月的最后一天
DateTime monEnd = weekStart.AddMonths(1).AddDays(-1);
int i = 1;
//当前月第一天是星期几
int dayOfWeek = Convert.ToInt32(weekStart.DayOfWeek.ToString("d"));
//该月第一周结束日期
DateTime weekEnd = dayOfWeek == 0 ? weekStart : weekStart.AddDays(7 - dayOfWeek);
richTextBox2.Text += "第" + i + "周起始日期: " + weekStart.ToShortDateString() + " 结束日期: " + weekEnd.ToShortDateString() + "\n";
//当日期小于或等于该月的最后一天
while (weekEnd.AddDays(1) <= monEnd)
{
i++;
//该周的开始时间
weekStart = weekEnd.AddDays(1);
//该周结束时间
weekEnd = weekEnd.AddDays(7) > monEnd ? monEnd : weekEnd.AddDays(7);
richTextBox2.Text += "第" + i + "周起始日期: " + weekStart.ToShortDateString() + " 结束日期: " + weekEnd.ToShortDateString() + "\n";
}
richTextBox2.Text += year + "年" + month + "月共有" + i + "周\n";
}
</script>
<asp:TextBox ID="richTextBox2" runat="server" TextMode="MultiLine" Height="321px"
Width="845px" ></asp:TextBox>
</div>
</form>
</body>
</html>