Autor |
Beitrag |
dark-destination1988
      
Beiträge: 178
Erhaltene Danke: 21
|
Verfasst: Fr 10.06.11 09:16
Hallo Gemeinde.
benötige mal eure Hilfe. Und zwar bin ich am entwickeln einer Silverlight-Applikation. Für diese benötige ich die Arbeitstage eines Monats. Gibt es da eventuell schon vorgefertigte Funktionen? Feiertage will ich zunächst einmal herauslassen.
meine idee wäre ja den Monat durchzugehen und abzufragen ob der Tag der woche Mo-Fr ist--> dementsprechend einen Counter erhöhen.
Aber das erscheint mir etwas von hinten durch die Brust geschossen.
|
|
traceurmicha
      
Beiträge: 160
Erhaltene Danke: 9
Win XP SP2, Win 7 Pro., Ubuntu 9, Debian 5
C#, ASP.NET, MSSQL, PHP(Microsoft Visual Studio 2010 Ultimate, SharpDevelop 4, Microsoft SQL Server2008 Express, Eclipse for PHP)
|
Verfasst: Fr 10.06.11 11:42
Hey dark-destination1988,
Wenn ich dich richtig verstanden habe weiß ich wie du das lösen kannst.
Mit der Datetime Funktion kannst du prüfen wie viele Tage ein Monat hat und auch überprüfen was das für ein tag ist.
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| DateTime dt = new DateTime(); int i = DateTime.DaysInMonth(jahr,monat);
for (int counter = 1; counter <= i; counter++) { dt = new DateTime(jahr, monat, counter); if (dt.ToString("ddd") != "Sa" && dt.ToString("ddd") != "So") { zaehler++; } } |
Ich hoffe ich konnte dir helfen
_________________ Programmieren ist ein Rennen zwischen den Softwareentwicklern, die versuchen größere und bessere idiotensichere Programme zu schreiben und dem Universum, welches versucht größere und bessere Idioten zu produzieren. Zur Zeit liegt das Universum in Führung.
Zuletzt bearbeitet von traceurmicha am Fr 10.06.11 12:12, insgesamt 1-mal bearbeitet
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Fr 10.06.11 11:44
Da fehlen aber die Feiertage.
EDIT:
Sehe grade das er gesagt hat diese können rausgelassen werden. Mein Fail!
Für diesen Beitrag haben gedankt: dark-destination1988
|
|
Th69
      

Beiträge: 4796
Erhaltene Danke: 1059
Win10
C#, C++ (VS 2017/19/22)
|
Verfasst: Fr 10.06.11 12:10
Hallo traceurmicha,
anstatt der ToString()-Abfrage, solltest du besser direkt die DayOfWeek-Eigenschaft benutzen:
C#-Quelltext 1:
| if (dt.DayOfWeek != DayOfWeek.Saturday && dt.DayOfWeek != DayOfWeek.Sunday) |
(und natürlich den richtigen Operator  )
Für diesen Beitrag haben gedankt: dark-destination1988
|
|
traceurmicha
      
Beiträge: 160
Erhaltene Danke: 9
Win XP SP2, Win 7 Pro., Ubuntu 9, Debian 5
C#, ASP.NET, MSSQL, PHP(Microsoft Visual Studio 2010 Ultimate, SharpDevelop 4, Microsoft SQL Server2008 Express, Eclipse for PHP)
|
Verfasst: Fr 10.06.11 12:13
Hey Th69,
Der Fehler von mir wurde korrigiert, da waren die Finger schneller als das Hirn^^
Das mit DayOfWeek kannte ich auch noch nicht, werd meine Funktion gleich mal umbauen^^
_________________ Programmieren ist ein Rennen zwischen den Softwareentwicklern, die versuchen größere und bessere idiotensichere Programme zu schreiben und dem Universum, welches versucht größere und bessere Idioten zu produzieren. Zur Zeit liegt das Universum in Führung.
Für diesen Beitrag haben gedankt: dark-destination1988
|
|
dark-destination1988 
      
Beiträge: 178
Erhaltene Danke: 21
|
Verfasst: Fr 10.06.11 14:41
nagut, dachte zwar das es da was simpleres gibt, aber das ist besser als nicht,
danke an euch
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Fr 10.06.11 14:55
msdn.microsoft.com/d...arday.isweekend.aspx
Obwohl es dir in dem Zusammenhang nicht so viel bringen wird. ^^ Aber kannst dir ja die Datum Klasse ableiten und erweitern um die Funktion .isWeekend.
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 10.06.11 15:18
|
|
thepaine91
      
Beiträge: 763
Erhaltene Danke: 27
Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
|
Verfasst: Fr 10.06.11 15:26
Und wo bleibt dann learning by failing?
|
|
pdelvo
      
Beiträge: 55
Erhaltene Danke: 11
|
Verfasst: Mo 08.08.11 01:42
Das sieht mir alles ein bisschen hässlich aus. hier mal meine linq Variante(hab ich mal schnell hingeklatscht^^)
C#-Quelltext 1: 2: 3: 4: 5: 6: 7:
| public static int GetWorkingDays(int year, int month) { int start = (int)new DateTime(year, month, 1).DayOfWeek; return (from int i in Enumerable.Range(1, DateTime.DaysInMonth(year, month)) where (start + i) % 7 != 0 && (start + i) % 7 != 6 select i).Count(); } |
|
|
|