簡體   English   中英

如何在C#中獲取上周開始日期和上個月開始日期?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM