Aktuellen Monat als Zahl??
-
Hi Leute,
kennt jemand eine Möglichkeit den aktuellen Monat als Zahl auszugeben? Also wir haben jetzt November also möchte ich eine 11 zurückbekommen.
Hab schon viel ausprobiert, gegoogled und die Forum-Suche benutzt aber nichts gefunden.
Danke schonmal im Voraus!
Gruß Nova
-
System.DateTime.Month ist ein int-Property. Wie gibst du denn aus, dass du November bekommst?
-
Mit Hilfe eines Arrays, musste aber noch Now dazwischen setzen, damit es funktioniert. Danke
Hier die Lösung:
string month = monthArray[System.DateTime.Now.Month];
Gruß Nova
-
Das nächste und letzte was ich noch benötige ist noch schwieriger. Ich möchte den ersten Tag des Monats ermitteln.
Zum Beispiel wenn der 01.11.2005 ein Dienstag ist, möchte ich Dienstag zurückbekommen.
Der aktuelle Monat als Zahl ist meinem Programm bekannt und es geht immer um den Ersten (01.). Der Tag als Zahl ist also konstant und damit auch bekannt.
Aber wie komme ich nun an den Dienstag (Ob die Rückgabe Englisch oder Deutsch ist, ist egal und ob ich eine entsprechende Zahl (z.B. 1 bis 7) zurückbekomme ist auch egal, hauptsache irgendwas zum Indentifizieren)
Hat dazu vielleicht jemand eine Lösung oder eine Idee?
Danke schonmal!
Gruß Nova
-
Mit der Methode AddDays (Day - 1) Tage abziehen, dann DayOfWeek.
Achtung: DayOfWeek geht von 0 (Sonntag) bis 6 (Samstag).
-
Hi,
Ja, damit hab ich auch probier ich auch schon die ganze Zeit rum, aber ich bekomm es einfach nicht hin. Kannst kurz ein - zwei entscheidende Codezeilen posten?
Danke schonmal
Gruß Nova
-
Novanic schrieb:
Ja, damit hab ich auch probier ich auch schon die ganze Zeit rum, aber ich bekomm es einfach nicht hin.
"Ich bekomme es nicht hin" ist keine ausreichende Fehlerbeschreibung. Zeig, was du hast, und sag, was genau nicht geht.
Kannst kurz ein - zwei entscheidende Codezeilen posten?
Nein, ich hab keine Ahnung von .NET. Ich kann nur die MSDN Library benutzen.
-
Ich hab das jetzt erstmal so probiert, bekomme aber immer eine 6, obwohl ich eigentlich eine 2 bekommen sollte. Denn Wenn Sonntag 0 und Samstag 6 ist, muss Dientag 2 sein und der 01.11.2005 war ja ein Dienstag.
currentDay = System.DateTime.Now.Day; currentWeekDay = (int)System.DateTime.Now.DayOfWeek; for(int i = currentDay; i == 1; i--) { if(currentWeekDay == 0) { currentWeekDay = 6; } else { currentWeekDay--; } } button37.Label = currentWeekDay.ToString();
Ich ermittel also den aktuellen Datum (heute der 05.) und zähle den Wochentag genau so oft runter, wenn er dabei auf 0 trifft, soll im nächsten Schleifendurchlauf auf Samstag (6) gestellt.
Sieht jemand warum das nicht klappt?
Danke. Gruß Nova
-
Novanic schrieb:
Sieht jemand warum das nicht klappt?
Das klappt nicht, weil die Bedingung in deiner for-Schleife falsch ist. Eine for-Schleife wird ausgeführt, solange die Bedingung wahr ist.
Aber warum so kompliziert?
now = System.DateTime.Now; firstOfMonth = now.AddDays(-(now.Day - 1));