Hallo zusammen
Leider hatte ich bis jetzt keinen Erfolg die Weeknumber aus einem DateTimePicker auszulesen.
Hat jemand von euch eine Idee?
Gruss Raphael
Wer Rechtschreibfehler findet, darf sie behalten.
Wieso die Kalenderwoche aus dem Datetimepicker lesen? Die KW ist doch etwas, was aus einem Datum berechnet wird, also du kannst das Datum aussm DTP nehmen, und damit die KW ausrechnen.
Zur Rechnerei selbst habich grad kein Plan, glaub da gibts sogar verschiedene Standards, aber probierma in der Foren-Suche "Kalenderwoche".
Der frühe Apfel fängt den Wurm.
Unter CultueInfo gibts methoden dazu
aber achtung der ISO STandard der in Deutschland gilt ist teilweise abweichend.
Ich glaube Dezember 1999 oder 2000 gabs afaik das letzte mal eine abweichung von einer KW
Mein Stackoverflow Profil
Skype Name : Boas.Enkler (bitte einen hinweis in der Kontaktanfrage damit ich euch vom Spam unterscheiden kann)
Danke "ErfinderDesRades" für den Tip. Wesswegen ich die Kalenderwoche benötige ist, das ich Report Auswertungen vornehmen möchte. Um diese aber durchführen zu können, ist es hilfreich, wenn die dazu benötigten Daten wie hier zum Beispiel das Datum, auch gleich die Kalenderwochennummer mit in die Datenbank geschrieben wird.
Aber trotzdem Danke an alle für die Hinweise.
Gruss Dolce
Wer Rechtschreibfehler findet, darf sie behalten.
Hallo zusammen
Hat prima funktioniert. Hier noch den Link über welchen ich die Lösung gefunden habe:
Link: http://dotnet-snippets.de/dns/kalenderwoche-berechnen-SID260.aspx
Oder das Codebeispiel:
private void NumberOfWeek(DateTime dte)
{
#region WeekNr
// Aktuelle Kultur ermitteln
CultureInfo currentCulture = CultureInfo.CurrentCulture;
// Aktuellen Kalender ermitteln
Calendar calendar = currentCulture.Calendar;
// Kalenderwoche über das Calendar-Objekt ermitteln
int calendarWeek = calendar.GetWeekOfYear(dte,
currentCulture.DateTimeFormat.CalendarWeekRule,
currentCulture.DateTimeFormat.FirstDayOfWeek);
// Überprüfen, ob eine Kalenderwoche größer als 52
// ermittelt wurde und ob die Kalenderwoche des Datums
// in einer Woche 2 ergibt: In diesem Fall hat
// GetWeekOfYear die Kalenderwoche nicht nach ISO 8601
// berechnet (Montag, der 31.12.2007 wird z. B.
// fälschlicherweise als KW 53 berechnet).
// Die Kalenderwoche wird dann auf 1 gesetzt
if (calendarWeek > 52)
{
dte = dte.AddDays(7);
int testCalendarWeek = calendar.GetWeekOfYear(dte,
currentCulture.DateTimeFormat.CalendarWeekRule,
currentCulture.DateTimeFormat.FirstDayOfWeek);
if (testCalendarWeek == 2)
calendarWeek = 1;
}
WeekNr = calendarWeek;
// Das Jahr der Kalenderwoche ermitteln
int year = dte.Year;
if (calendarWeek == 1 && dte.Month == 12)
year++;
if (calendarWeek >= 52 && dte.Month == 1)
year--;
YearNr = year;
}
Nochmals Danke an alle.
Gruss Dolce
Wer Rechtschreibfehler findet, darf sie behalten.