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號(hào)給你做,也是要求一個(gè)月做完,本來是應(yīng)該在2010-02-31號(hào)交付的,但是2月沒有31號(hào),所以交付的時(shí)間就變成2010-02-28號(hào)了
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#利用反射技術(shù)實(shí)現(xiàn)去掉按鈕選中時(shí)的邊框效果
這篇文章主要介紹了C#利用反射技術(shù)實(shí)現(xiàn)去掉按鈕選中時(shí)的邊框效果,涉及C#針對(duì)窗口的參數(shù)設(shè)置技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
C#把數(shù)字轉(zhuǎn)換成大寫金額的代碼實(shí)例
這篇文章主要介紹了C#把數(shù)字轉(zhuǎn)換成大寫金額的代碼實(shí)例,例如把200轉(zhuǎn)換成“貳佰元”,需要的朋友可以參考下2014-05-05
C#中GraphicsPath的AddString方法用法實(shí)例
這篇文章主要介紹了C#中GraphicsPath的AddString方法用法,實(shí)例分析了AddString方法添加字符串的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06
Unity3D網(wǎng)格功能生成球體網(wǎng)格模型
這篇文章主要為大家詳細(xì)介紹了Unity3D網(wǎng)格功能生成球體網(wǎng)格模型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
c# 從IE瀏覽器獲取當(dāng)前頁(yè)面的內(nèi)容
從IE瀏覽器獲取當(dāng)前頁(yè)面內(nèi)容可能有多種方式,今天我所介紹的是其中一種方法。基本原理:當(dāng)鼠標(biāo)點(diǎn)擊當(dāng)前IE頁(yè)面時(shí),獲取鼠標(biāo)的坐標(biāo)位置,根據(jù)鼠標(biāo)位置獲取當(dāng)前頁(yè)面的句柄,然后根據(jù)句柄,調(diào)用win32的東西進(jìn)而獲取頁(yè)面內(nèi)容。感興趣的朋友可以參考下本文2021-06-06
C#創(chuàng)建安全的棧(Stack)存儲(chǔ)結(jié)構(gòu)
這篇文章主要為大家詳細(xì)介紹了C#創(chuàng)建安全的棧(Stack)存儲(chǔ)結(jié)構(gòu)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
C# Lambda表達(dá)式select()和where()的區(qū)別及用法
這篇文章主要介紹了C# Lambda表達(dá)式select()和where()的區(qū)別及用法,select在linq中一般會(huì)用來提取最后篩選的元素集合,在lambda表達(dá)式中通常用where得到元素集合,需要的朋友可以參考下2023-07-07

