DateTime用法大全

//今天   
DateTime.Now.Date.ToShortDateString();   
//昨天,也就是今天的日期減一   
DateTime.Now.AddDays(-1).ToShortDateString();   
//明天,同理,加一   
DateTime.Now.AddDays(1).ToShortDateString();   
//本週(要知道本週第一天就得先知道今天是星期幾,從而得知   
本週第一天就是幾天前的那一天;每一週是從週日始至週六止[0-6])   
DateTime.Now.AddDays(Convert.ToDouble((0-Convert.ToInt16   
(DateTime.Now.DayOfWeek)))).ToShortDateString();   
   //DateTime.Now.DayOfWeek獲得今天是本週的第幾天(0<=n<=6)   
DateTime.Now.AddDays(Convert.ToDouble((6-Convert.ToInt16   
(DateTime.Now.DayOfWeek)))).ToShortDateString();   
//中文顯示星期幾   
//由於DayOfWeek返回的是數字的星期幾,需要把它轉換成漢字以方便人們   
閱讀,有些人會用SWITCH來一個一個地對照,其實我們有更優的策略   
string[] Day=new string[]{"星期日","星期一",星期二","星期三",   
"星期四","星期五","星期六"};   
Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];//使用它來獲取   
//上週,同理,一個周是7天,上週就是本週在減去7天,下週也是一樣   
DateTime.Now.AddDays(Convert.ToDouble((0-Convert.ToInt16(   
DateTime.Now.DayOfWeek)))-7).ToShortDateString();   
DateTime.Now.AddDays(Convert.ToDouble((6-Convert.ToInt16(   
DateTime.Now.DayOfWeek)))-7).ToShortDateString();   
//下週   
DateTime.Now.AddDays(Convert.ToDouble((0-Convert.ToInt16(   
Datetime.Now.DayOfWeek)))+7).ToShortDateString();   
DateTime.Now.AddDays(Convert.ToDouble((6-Convert.ToInt16(   
DateTime.Now.DayOfWeek)))+7).ToShortDateString();   
//本月,本月的第一天是1號,最後一天就是下個月的1號再減一天   
DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString(   
)+"1";//第一天   
DateTime.Parse(DateTime.Now.Year.ToString()+DateTime.Now.   
Month.ToString()+"1").AddMonths(1).AddDays(-1).ToShortDateString();   
   //最後一天   
//巧用C#裏ToString的字符格式化更簡便   
DateTime.Now.ToString("yyyy-MM-01");   
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays   
(-1).ToShortDateString();   
//上個月,減去一個月份   
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();   
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();   
//下個月,加上一個月份   
DateTime.Parse(Datetime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();   
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortString();   
//7天后   
DateTime.Now.Date.ToShortDateString();   
DateTime.Now.AddDays(7).ToShortDateString();   
//7天前   
DateTime.Now.AddDays(-7).ToShortDateString();   
DateTime.Now.Date.ToShortDateString();   
//本年度,用ToString的字符格式化我們也很容易算出本年度的第一天和最後一天   
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();   
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortString();   
//上年度   
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();   
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();   
//下年度   
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();   
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();   
//本季度,很多人都會覺得這裏是難點,需要寫個長長的過程來判斷;其實不用的,我們都知道一年四個季度,一個季度三個月   
//首先我們把日期推到本季度第一個月,然後這個月的第一天就是本季度的第一天了   
DateTime.Now.AddMonths(0-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01");   
//同理,本季度的最後一天就是下個季度的第一天減一   
DateTime.Parse.(DateTime.Now.AddMonth(3-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();   
//下季度   
DateTime.Now.AddMonths(3-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01");   
DateTime.Parse(DateTime.Now.AddMonths(6-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01").AddDays(-1).ToShortDateString();   
//上季度   
DateTime.Now.AddMonths(-3-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01");   
DateTime.Parse(DateTime.Now.AddMonths(0-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01").AddDays(-1).ToShortDateString();   
//獲得當月有多少天   
int m=System.DateTime.DaysInMonth(System.DateTime.Now.Year,System.DateTime.Now.Month);   
//獲取某月的實際工作日(即不包括週六日)   
//int days=getDays(System.DateTime.Now);調用即可獲得   
private int getDays(System.DateTime date1)   
{   
int m=System.DateTime.DaysInMonth(date1.Year,date1.Month);   
int mm=0;   
for(int i=1;i<=m;i++)   
{   
System.DateTime date=Convert.ToDateTime(date1.Year+"-"+date1.Month+"-"+i);   
switch(date.DayOfWeek)   
{   
case System.DayOfWeek.Monday:   
case System.DayOfWeek.Tuessday:   
case System.DayOfWeek.Wednesday:   
case System.DayOfWeek.Thursday:   
case System.DayOfWeek.Friday:   
mm=mm+1;   
break;   
}   
}   
return mm;   
}   
//獲得任意兩日期之間的有效工作日(不包括週六日)   
DateTime date1=Convert.ToDateTime("2008-8-8");   
DateTime date2=Convert.ToDateTime("2008-10-1");   
int days=getDays(date1,date2);   
//調用如上即可獲得   
private int getDays(System.DateTime date1,System.DateTime date2)   
{   
string m=Microsoft.VisualBasic.DateAndTime.DateDiff(EnumDateCompare.day,date1,date2).ToString("f0");   
int mm=0;   
for(int i=0;i<=Convert.ToInt32(m);i++)   
{   
System.DateTime date=Convert.ToDateTime(date1.AddDays(i));   
switch(date.DayOfWeek)   
{   
case System.DayOfWeek.Monday:   
case System.DayOfWeek.Tuesday:   
case System.DayOfWeek.Wednesday:   
case System.DayOfWeek.Thursday:   
case System.DayOfWeek.Friday:   
mm=mm+1;   
break;   
}   
}   
return mm;   
}   
//格式輸出   
private void Page_Load(object sender,System.EventArgs e)   
{   
System.Globalization.DateTimeFormatInfo myDTFI=new System.Globalization.CultureInfo("en-US",false).DateTimeFormat;   
//中國爲zh-cn   
DateTime myDT=System.DateTime.Now;   
Response.Write(myDT.ToString("f",myDTFI));   
//獲得本週的週六和週日   
public static void ConvertDateToWeek(DateTime date,out DateTime firstdate,out DateTime lastdate)   
{   
DateTime first System.DateTime.Now;   
DateTime last=System.DateTime.Now;   
switch(date.DayOfWeek)   
{   
case System.DayOfWeek.Monday:   
first=date.AddDays(-1);   
last=date.AddDays(5);   
break;   
case System.DayOfWeek.Tuesday:   
first=date.AddDays(-2);   
last=date.AddDays(4);   
break;   
case System.DayOfWeek.Wednesday:   
first=date.AddDays(-3);   
last=date.AddDays(3);   
break;   
case System.DayOfWeek.Thursday:   
first=date.AddDays(-4);   
last=date.AddDays(2);   
break;   
case System.DayOfWeek.Friday:   
first=date.AddDays(-5);   
last=date.AddDays(1);   
break;   
case System.DayOfWeek.Saturday:   
first=dateAddDays(-6);   
last=date;   
break;   
case System.DayOfWeek.Sunday:   
first=date;   
last=date.AddDays(6);   
break;   
}   
firstdate=first;   
lastdate=last;   
}   
//調用   
DateTime firstdate=System.DateTime.Now;   
DateTime lastdate=System.Datetime.Now;   
ConvertDateToWeek(date,out firstdate,out lastdate);   
//獲得當前日期是該年度的第幾周   
DateTime dt=Convert.ToDateTime("2008-8-8");   
int weeks=dt.DayOfYear/7+1;  

發佈了27 篇原創文章 · 獲贊 36 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章