c#获取当前年的周数及当前月的天数示例代码

时间:2021-05-20

获取当前年的周数
复制代码 代码如下:
/// <summary>
/// 获得今年有几周
/// </summary>
/// <param name="year"></param>
/// <returns></returns>
public int GetWeekOfYear(int year)
{
DateTime the_Date = new DateTime(year,1,1);//本年的第一天
TimeSpan tt=the_Date.AddYears(1)-the_Date;//求出本年有几天
return tt.Days / 7 + 1; //因为年只有366天和365天除以7有余数所以始终需要加一周
}

获取当前月的天数

第一种:
复制代码 代码如下:
DateTime dt = new DateTime(2007, 1, 1);

//在.net中内部处理是减去+1后的月份得到当前月的天数(实际上这种方式是算出他们的差)例如:
//当前月是2007年1月1日,通过AddMonths方法加一个月是2007年2月1日,在.net中将算出它们间隔多少天.
//所以我们可以利用这种方法来求出当前月有几天
TimeSpan tt = dt.AddMonths(1) - dt;
// DateTime dt = new DateTime(2007,1,31); 如果时间是2007,1,31加一个月减当前月就不行,看下面解释:

Response.Write(tt);

第二种:
复制代码 代码如下:
public static int year;
public static int month;
public static int days;
protected void Button1_Click(object sender, EventArgs e)
{
year = DateTime.Now.Year;
month = DateTime.Now.Month;
//得到当前月的天数
switch (month)
{
case 1:
days = 31;
break;
case 2:
if (DateTime.IsLeapYear(year))
{
//闰年二月为29天
days = 29;
}
else
{
//不是闰年,二月为28天
days = 28;
}
break;
case 3:
days = 31;
break;
case 4:
days = 30;
break;
case 5:
days = 31;
break;
case 6:
days = 30;
break;
case 7:
days = 31;
break;
case 8:
days = 31;
break;
case 9:
days = 30;
break;
case 10:
days = 31;
break;
case 11:
days = 30;
break;
case 12:
days = 31;
break;
}
TextBox1.Text = days.ToString();
}

复制代码 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
int day=GetWeekDay(2010,11);
if (day != 0)
{
Response.Write(day);
}
}

public int GetWeekDay(int year,int month)
{
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;

case 2:
if (DateTime.IsLeapYear(year))
return 29;
else
return 28;

case 4:
case 6:
case 9:
case 11:
return 30;
default:
return 0;
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章