关于C# DateTime
——摘自网络
MSDN:http://msdn.microsoft.com/zh-cn/library/system.datetime.aspx
一、String 转化成 DateTime
DateTime date = Convert.ToDateTime("2013/08/22 18:18");
DateTime date1 = new DateTime(2008, 5, 1, 8, 30, 52);
二、DateTime Format
|
DataTime函数 |
效果 |
|
ToString() |
2013/8/27 21:18:57 |
|
ToShortDateString() |
2013/8/27 |
|
ToLongDateString() |
2013年8月27日 |
|
ToShortTimeString() |
21:18 |
|
ToLongTimeString() |
21:18:57 |
|
ToLocalTime() |
2013/8/27 21:18:57 (本地时间) |
|
ToUniversalTime() |
2013/8/27 21:18:57 (协调世界时UTC) |
|
ToFileTime() |
130220831377556105(Windows文件时间) |
|
ToFileTimeUtc() |
130220831377556105(Windows文件时间) |
|
ToOADate() |
41513.8881684606(OLE 自动化日期) |
Label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T13:30:28
Label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//13:30
Label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//2005年 11月
Label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日
Label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//2005年11月5日,星期六
Label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//星期六,2005年11月5日
Label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月5日
Label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 13:30
Label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 13:30
Label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 13:30:28 GMT
Label1.Text = string.Format("{0:d}", dt);//2005/11/5
Label2.Text = string.Format("{0:D}", dt);//2005年11月5日
Label3.Text = string.Format("{0:f}", dt);//2005年11月5日 13:30
Label4.Text = string.Format("{0:F}", dt);//2005年11月5日 13:30:28
Label5.Text = string.Format("{0:g}", dt);//2005-11-5 13:30
Label6.Text = string.Format("{0:G}", dt);//2005-11-5 13:30:28
Label7.Text = string.Format("{0:M}", dt);//11月5日
Label8.Text = string.Format("{0:R}", dt);//Sat, 05 Nov 2005 13:30:28 GMT
Label9.Text = string.Format("{0:s}", dt);//2005-11-05T13:30:28
Label10.Text = string.Format("{0:t}", dt);//13:30
Label11.Text = string.Format("{0:T}", dt);//13:30:28
Label12.Text = string.Format("{0:u}", dt);//2005-11-05 13:30:28Z
Label13.Text = string.Format("{0:U}", dt);//2005年11月5日 5:30:28
Label14.Text = string.Format("{0:Y}", dt);//2005年11月
Label15.Text = string.Format("{0}", dt);//2005/11/5 13:30:28
Label16.Text = string.Format("{0:yyyyMMddHHmmssffff}", dt);//200511051330284412
三、DateTime 日期增减
|
今天 |
DateTime.Now.Date.ToShortDateString(); |
|
明天 |
DateTime.Now.AddDays(1).ToShortDateString(); |
|
昨天 |
DateTime.Now.AddDays(-1).ToShortDateString(); |
|
星期几(英文) |
DateTime.Now.DayOfWeek |
|
星期几(中文) |
string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; Console.WriteLine(Day[Convert.ToInt16(DateTime.Now.DayOfWeek)]); |
|
本周第一天(周日) |
DateTime.Now.AddDays(Convert.ToDouble((0-Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString(); |
|
本周最后一天(周六) |
DateTime.Now.AddDays(Convert.ToDouble((6-Convert.ToInt16(DateTime.Now.DayOfWeek)))).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(); |
|
下周第一天 |
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.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).ToShortDateString(); |
|
7天后 |
DateTime.Now.AddDays(7).ToShortDateString(); |
|
7天前 |
DateTime.Now.AddDays(-7).ToShortDateString(); |
|
本年度第一天 |
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString(); |
|
本年度最后一天 |
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString(); |
|
上年度第一天 |
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)%)).ToString("yyyy-MM-01"); |
|
本季度最后一天 |
DateTime.Parse(DateTime.Now.AddMonths(3-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); |
|
下季度第一天 |
DateTime.Now.AddMonths(3-((DateTime.Now.Month-1)%)).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(); |
Label2.Text = dt.AddYears(1).ToString();//2006/11/5 13:47:04
Label3.Text = dt.AddDays(1.1).ToString();//2005/11/6 16:11:04
Label4.Text = dt.AddHours(1.1).ToString();//2005/11/5 14:53:04
Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005/11/5 13:47:04
Label6.Text = dt.AddMonths(1).ToString();//2005/12/5 13:47:04
Label7.Text = dt.AddSeconds(1.1).ToString();//2005/11/5 13:47:05
Label8.Text = dt.AddMinutes(1.1).ToString();//2005/11/5 13:48:10
Label9.Text = dt.AddTicks(1000).ToString();//2005/11/5 13:47:04
Label11.Text = dt.Add(?).ToString();//问号为一个时间段
Label3.Text = dt.GetHashCode().ToString();//811890660
Label4.Text = dt.GetType().ToString();//System.DateTime
Label5.Text = dt.GetTypeCode().ToString();//DateTime
四、DateTime 日期比较
Label10.Text = dt.CompareTo(dt).ToString();//0
Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString();//False
Label2.Text = dt.Equals(dt).ToString();//True
浙公网安备 33010602011771号