C#日期函數 轉換及計算方式 C# DateTime

來源
http://www.eion.com.tw/Blogger/?Pid=1150

筆記

DateTime myDate = DateTime.Now;
string myDateString = myDate.ToString("yyyy-MM-dd HH:mm:ss");
結果:
2011-10-16 02:33:54

轉換字串格式為日期

文法:
DateTime dt = Convert.ToDateTime(myDateString);
2011/10/16 上午 02:33:54

計算兩個時間差

文法:
DateTime sDate = Convert.ToDateTime("2010-10-15 15:50:39");
DateTime eDate = Convert.ToDateTime("2010-10-25 15:50:39");
TimeSpan ts = sDate - eDate;
double days = ts.TotalDays;
TextBox.Text = "差距 " + Convert.ToInt32(days).ToString() + "天";
結果:
差距 -10 天

Application Example

DateTime dt = DateTime.Now; 取得目前日期時間

本週一的日期

DateTime startWeek = dt.AddDays(1-Convert.ToInt32(dt.DayOfWeek.ToString("d")));

本週日的日期

DateTime endWeek = startWeek.AddDays(6);

本月月初的日期

DateTime startMonth = dt.AddDays(1 - dt.Day);

本月月底的日期

DateTime endMonth = startMonth.AddMonths(1).AddDays(-1);

本季初的日期

DateTime startQuarter = dt.AddMonths(0-(dt.Month-1) % 3).AddDays(1-dt.Day);

本季末的日期

DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1);

本年年初的日期

DateTime startYear = new DateTime(dt.Year, 1, 1);

本年年末的日期

DateTime endYear = new DateTime(dt.Year, 12, 31);

上年度的起止日期

startBeforeYear = DateTime.Parse(DateTime.Now.ToString("yyyy-01-01"))
.AddYears(-1).ToShortDateString();
endBeforeYear = DateTime.Parse(DateTime.Now.ToString("yyyy-01-01"))
.AddDays(-1).ToShortDateString();

下年度的起止日期

startNextYear = DateTime.Parse(DateTime.Now.ToString("yyyy-01-01"))
.AddYears(1).ToShortDateString();
endNextYear = DateTime.Parse(DateTime.Now.ToString("yyyy-01-01"))
.AddYears(2).AddDays(-1).ToShortDateString();

張貼留言

0 留言