获取时间
1.例如 2020/11/18 19:33:49
DateTime dt = DateTime.Now;
Console.WriteLine(dt.ToString());
2.例如 2020/11/18
string strdt=dt.ToShortDateString();
3.例如 2020年11月
string strdt = dt.GetDateTimeFormats('y')[0].ToString();
4.例如 2020年11月18日
string strdt = dt.GetDateTimeFormats('D')[0].ToString();
或者
string.Format("{0:D}",dt);
5.例如 11月18日
string strdt = dt.GetDateTimeFormats('M')[0].ToString();
或者
string.Format("{0:M}",dt);
C#常用的时间处理函数
// 计算2个日期之间的天数差
DateTime dt1 = Convert.ToDateTime("2020-11-18");
DateTime dt2 = Convert.ToDateTime("2021-01-01");
TimeSpan span = dt2.Subtract(dt1);
int dayDiff = span.Days + 1;
Console.WriteLine(dayDiff);//45
// 计算某年某月的天数
int days = DateTime.DaysInMonth(2020, 11);//30
// 给日期增加一天、减少一天
dt.AddDays(1); //增加一天
dt.AddDays(-1);//减少一天
//本年的天数 是否是闰年
int daysInYear = DateTime.IsLeapYear(DateTime.Now.Year) ? 366 : 365;
//本月的最后一天 本月1号加一个月得下月1号,再剪掉一天就是本月最后一天
DateTime lastDayInMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1).AddDays(-1);
//得到星期几 星期天为7
int dayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek) < 1 ? 7 : Convert.ToInt32(DateTime.Now.DayOfWeek);
//本周一
DateTime monday = new DateTime(DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day).AddDays(1 - dayOfWeek);
//本周 星期天
DateTime sunday = monday.AddDays(6);
//本周 星期天的午夜
DateTime sunday2 = monday.AddDays(7).AddMilliseconds(-3);
//本季度第一天
DateTime firsyDayInQuarter = new DateTime(DateTime.Now.Year, DateTime.Now.Month - (DateTime.Now.Month - 1) % 3, 1);
//本季度最后一天
DateTime lastDayInQuarter = firsyDayInQuarter.AddMonths(3).AddDays(-1);
//本季度最后一天的午夜
DateTime lastDayInQuarter2 = firsyDayInQuarter.AddMonths(3).AddMilliseconds(-3);
string datetime = "10-Jul-09";
string newdatetime = DateTime.Parse(datetime, new System.Globalization.CultureInfo("de-de")).ToString("yyyyMMdd");
//计算上个礼拜四的时间日期,思路是 回到这个礼拜一,然后再减去4天就是上礼拜4
int dayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek) < 1 ? 7 : Convert.ToInt32(DateTime.Now.DayOfWeek);
DateTime monday = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day).AddDays(1 - dayOfWeek-4);
Console.WriteLine(monday);
小数转化成时间
//例如 2.5 转成 02:30或者02分30秒
string a= TimeSpan.FromMinutes(2.5).ToString("mm\\:ss");
string a= TimeSpan.FromMinutes(2.5).ToString("mm\\分ss\\秒");