[英]How to get last week begin date and last month begin date in c#?
我想檢索基於上周和上個月在C#中的記錄。對於上周,我想要從星期日到星期六的記錄。對於上個月,我想獲取上個月的開始日期以獲取所有記錄,直到該月末。
我不應該獲取上周的過去六天記錄,而是我想從當前周(星期日)開始日期中找到最后一個星期日日期。
我找到了找到上個月第一天和最后一天的解決方案---->
var first = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).AddMonths(-1);
var last = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).AddDays(-1);
找到上周----->
DateTime _currDateTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified);
DateTime _currentDate;
DateTime _lastWeekStartDate;
_currentDate = _currDateTime.StartOfWeek(DayOfWeek.Sunday);
_lastWeekStartDate = _currentDate.AddDays(-1);
tempfromdate = _lastWeekStartDate.StartOfWeek(DayOfWeek.Sunday);
temptodate = tempfromdate.EndOfWeek(DayOfWeek.Saturday);
這至少是一種方法
DateTime lastWeekFirstDay = DateTime.Now.AddDays( - 6 - (int)DateTime.Now.DayOfWeek);
DateTime lastMonthFirstDay = DateTime.Now.AddMonths( -1 ).AddDays( 1 - DateTime.Now.Day);
如果星期日是您所在地區的一周的第一天,請在第一行代碼中將7替換為6。 6假設星期一是一周的第一天。
編輯
添加了month變體的變體,該變體可能更具可讀性:
DateTime lastMonthFirstDay = new DateTime( DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(-1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.