C#中得到每週,每月,每季,每年的年初末日期

weixin_30924079發表於2020-04-04

DateTime表示時間上的一刻,通常以日期和當天的時間表示。借用這個結構,我們可以實現較豐富的功能,本文給出得到每週每天的方法,及得到本月第一天,本月最後一天,本季第一天,本季最後一天,本年第一天及本年最後一天的方法,這在一些與財務有關或庫存管理軟體中非常有用。

DateTime dt = DateTime.Now;     //得到當前時間

DateTime startYear = new DateTime(dt.Year, 1, 1); //本年年初

DateTime endYear = new DateTime(dt.Year, 12, 31); //本年年末

DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day); //本季度初

DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1); //本季度末

DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初

DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末

//DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1); //本月月末

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

DateTime endWeek = startWeek.AddDays(6); //本週週日

轉載於:https://www.cnblogs.com/JensonBin/archive/2012/03/24/2415520.html

相關文章