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;

  

原文地址:https://www.cnblogs.com/tutoo/p/4056397.html