c#獲取當(dāng)前年的周數(shù)及當(dāng)前月的天數(shù)示例代碼
獲取當(dāng)前年的周數(shù)
/// <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; //因?yàn)槟曛挥?66天和365天除以7有余數(shù)所以始終需要加一周
}
獲取當(dāng)前月的天數(shù)
第一種:
DateTime dt = new DateTime(2007, 1, 1);
//在.net中內(nèi)部處理是減去+1后的月份得到當(dāng)前月的天數(shù)(實(shí)際上這種方式是算出他們的差)例如:
//當(dāng)前月是2007年1月1日,通過AddMonths方法加一個(gè)月是2007年2月1日,在.net中將算出它們間隔多少天.
//所以我們可以利用這種方法來求出當(dāng)前月有幾天
TimeSpan tt = dt.AddMonths(1) - dt;
// DateTime dt = new DateTime(2007,1,31); 如果時(shí)間是2007,1,31加一個(gè)月減當(dāng)前月就不行,看下面解釋:
/*比如說給你做一個(gè)項(xiàng)目,2010-01-01給你做的,一個(gè)月做完,就是2010-02-01交付
現(xiàn)在2010-01-31號給你做,也是要求一個(gè)月做完,本來是應(yīng)該在2010-02-31號交付的,但是2月沒有31號,所以交付的時(shí)間就變成2010-02-28號了
AddMonths只是增加一個(gè)月的時(shí)間*/
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;
//得到當(dāng)前月的天數(shù)
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;
}
- C#根據(jù)年月日計(jì)算星期幾的函數(shù)
- C#巧用DateTime預(yù)設(shè)可選的日期范圍(如本年度、本季度、本月等)
- C#根據(jù)年月日計(jì)算星期幾的函數(shù)小例子
- C#獲取兩個(gè)時(shí)間的時(shí)間差并去除周末(取工作日)的方法
- c#得到本月有幾周和這幾周的起止時(shí)間示例代碼
- C#由當(dāng)前日期計(jì)算相應(yīng)的周一和周日的實(shí)例代碼
- C#獲取上個(gè)月第一天和最后一天日期的方法
- C#正則表達(dá)式判斷輸入日期格式是否正確
- C#日期格式化的幾個(gè)要點(diǎn)小結(jié)
- C#判斷日期是否到期的方法
- C#獲取每個(gè)年,月,周的起始日期和結(jié)束日期的方法
相關(guān)文章
C#使用Socket實(shí)現(xiàn)本地多人聊天室
這篇文章主要為大家詳細(xì)介紹了C#使用Socket實(shí)現(xiàn)本地多人聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02VB.NET中TextBox的智能感知應(yīng)用實(shí)例
這篇文章主要介紹了VB.NET中TextBox的智能感知應(yīng)用實(shí)例,非常實(shí)用的功能,需要的朋友可以參考下2014-08-08利用AOP實(shí)現(xiàn)SqlSugar自動(dòng)事務(wù)
這篇文章主要為大家詳細(xì)介紹了利用AOP實(shí)現(xiàn)SqlSugar自動(dòng)事務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10