![](/img/trans.png)
[英]Using linq group by to get from a list of objects with a DateTime property to a list with an interval StartDate, EndDate
[英]how to exclude Saturday and Sunday from startDate and endDate datetime objects
用c#開發。我有兩個DateTime對象。 我必須從天數中消除周六和周日。 假設我有5天,包括周六和周日。 我想檢查周六周日的天數並減少天數。
DateTime startDate = DateTime.ParseExact(startDate.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture);
DateTime endDate = DateTime.ParseExact(endDate.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture);
TimeSpan diff = endDate - startDate;
days = diff.Days;
我已經試過了
但是我無法消除周六的周日,因為給定的鏈接僅在日期差大於7的情況下才消除周末。尚未解決我的問題。
在兩個日期中的某天之間進行簡單循環,然后使用DayOfWeek
檢查該天是星期六還是星期天,怎么樣?
像下面這樣的東西應該工作:
int weekendDays = 0;
for(DateTime date = startDate; date.Date <= endDate.Date; date = date.AddDays(1))
{
if ((date.DayOfWeek == DayOfWeek.Saturday) || (date.DayOfWeek == DayOfWeek.Sunday))
{
weekendDays++;
}
}
您冷使用以下內容:
int daycount = 0;
while (startDate < endDate)
{
startDate = startDate.AddDays(1);
int DayNumInWeek = (int)startDate.DayOfWeek;
if (DayNumInWeek != 0 && DayNumInWeek != 6)
daycount += 1;
}
還重復計算兩個日期之間的工作日數嗎? ,它具有Alpha很好的LINQ方法
為了獲得更好的性能和可讀性,你可以實現這 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.