C#DateTime时间操作

获取时间

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\\秒");
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值