---
title: "Lägga på arbetsdagar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/165864-lägga-på-arbetsdagar"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Dino"
published: "2007-10-27T10:49:35.000Z"
updated: "2007-10-27T11:50:02.000Z"
replies: 2
views: 412
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/165864-lägga-på-arbetsdagar"
---

# Lägga på arbetsdagar

## #1 — Dino, 2007-10-27T10:49Z

Nedan kod är tänkt att lägga på X antal arbetsdagar(måndag-fredag) på ett datum för att sen retunera det nya datumet. Men det vill sig inte.

```
public static DateTime AddBusinessDays(DateTime startdate, int days)
{
   while (days > 0)
   {
      startdate = startdate.AddDays(1d);
      if (startdate.DayOfWeek != DayOfWeek.Saturday || startdate.DayOfWeek != DayOfWeek.Sunday)
         days--;
   }
   return startdate;
}

Response.Write("+1: " + AddBusinessDays(DateTime.Now, 1).ToShortDateString() + "<br/>");
Response.Write("+2: " + AddBusinessDays(DateTime.Now, 2).ToShortDateString() + "<br/>");
Response.Write("+3: " + AddBusinessDays(DateTime.Now, 3).ToShortDateString() + "<br/>");
Response.Write("+4: " + AddBusinessDays(DateTime.Now, 4).ToShortDateString() + "<br/>");
Response.Write("+5: " + AddBusinessDays(DateTime.Now, 5).ToShortDateString() + "<br/>");
Response.Write("+6: " + AddBusinessDays(DateTime.Now, 6).ToShortDateString() + "<br/>");
Response.Write("+7: " + AddBusinessDays(DateTime.Now, 7).ToShortDateString() + "<br/>");
Response.Write("+8: " + AddBusinessDays(DateTime.Now, 8).ToShortDateString() + "<br/>");
Response.Write("+9: " + AddBusinessDays(DateTime.Now, 9).ToShortDateString() + "<br/>");
Response.Write("+10: " + AddBusinessDays(DateTime.Now, 10).ToShortDateString() + "<br/>");
Response.Write("+11: " + AddBusinessDays(DateTime.Now, 11).ToShortDateString() + "<br/>");
Response.Write("+12: " + AddBusinessDays(DateTime.Now, 12).ToShortDateString() + "<br/>");
```

Permalänk: https://www.webforum.nu/p/165864

## #2 — Gladh, 2007-10-27T11:39Z

```
if (startdate.DayOfWeek != DayOfWeek.Saturday || startdate.DayOfWeek != DayOfWeek.Sunday
```

Du säger här om dagen är skilt från söndag eller dagen är skilt från lördag, vilket alltid kommer att vara sant. För om dagen är en lördag så är den skilt från söndag och vilkoret är sant.

Du får antingen kontrollera om dagen är en Måndag ELLER Tisdag ELLER Onsdag ELLER Torsdag ELLER Fredag Så fall minskar du days med ett.

Eller så vänder du på uttrycket.

Kontrollera om dagen är en Lördag ELLER Söndag och ta INVERTEN på resultatet

```
if(!(startdate.DayofWeek == DayOfWeek.Saturday || startdate.DayofWeek == DayOfWeek.Sunday))
   days--;
```

\- M

Permalänk: https://www.webforum.nu/p/2044670

## #3 — Dino, 2007-10-27T11:50Z

Det gjorde susen. Tackar. :)

Permalänk: https://www.webforum.nu/p/2044680

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/165864-lägga-på-arbetsdagar
