簡體   English   中英

如何從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.

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