c#根据当前日期获取开始日期和最后日期

19 c# datetime

我正在做一个基于日期的活动监视器,类似于stackoverflow Today,YesterDay,this week,Last week,this month,last Month.....根据当前日期如何获取start-dateend-date所有这些Today,YesterDay,this week,Last week,this month,last Month在c#?

Ada*_*son 73

DateTime baseDate = DateTime.Today;

var today = baseDate;
var yesterday = baseDate.AddDays(-1);
var thisWeekStart = baseDate.AddDays(-(int)baseDate.DayOfWeek);
var thisWeekEnd = thisWeekStart.AddDays(7).AddSeconds(-1);
var lastWeekStart = thisWeekStart.AddDays(-7);
var lastWeekEnd = thisWeekStart.AddSeconds(-1);
var thisMonthStart = baseDate.AddDays(1 - baseDate.Day);
var thisMonthEnd = thisMonthStart.AddMonths(1).AddSeconds(-1);
var lastMonthStart = thisMonthStart.AddMonths(-1);
var lastMonthEnd = thisMonthStart.AddSeconds(-1);
Run Code Online (Sandbox Code Playgroud)

  • 伙计,我讨厌人们很快就抓住自己的错误.:) (2认同)
  • 这对于 thisWeekStart 和 thisWeekEnd 来说是如何正确的 - 它给出周日 12:00:00 AM 作为一周开始,周六 11:59:59 PM 作为周末结束。不应该是星期一 12:00:00 AM 和星期日 11:59:59 PM 吗? (2认同)