01. december 2011 - 15:03Der er
9 kommentarer og 1 løsning
Bergne uge i en måned
Hej,
Jeg har udfra en given dato brug for at beregne om dagen i datoen er den første, anden, trejde, fjerde (og af og til) femte uge i en måned.
Altså hvis vi tager den 15/12-2012 - så vil det give mig uge nr. 3 og den 29/12-2012 skal give mig 5 retur. Det med den sidste uge, har jeg ikke lige helt styr på - for den skal sættes til sidste uge og ikke uge 5.....
Men lige nu har jeg brug for at kunne beregne den og aner ikke hvordan - så langt jeg er kommet i min metode er følgende:
private int CalculateWeekNoInMonth(DateTime date) { int count = 0;
int month = date.Month; int year = date.Year;
return count; }
Håber nogen kan hjælpe mig - for jeg er lidt lost her....Jeg kan forestille mig, jeg (derfor min count) at jeg skal loope mig igennem hele måneden og så tælle antal den støder på dagen.
Sorry - læste det ups som at du fortrød dit forslag og ville have en uddybning fra mig. Den virker - tak.
Kan du også hjælpe mig med mit problem med at finde ud af om datoen er sidste uge i en måned.
Altså brugeren har en option hvor de kan vælge sidste fredag i en måned f.eks. (de giver en dato ind og nu skal jeg så finde frem til om jeg skal hente en bestemt linje ud) - den skal kun hentes ud, hvis datoen er den sidste i en måned....
Det er nok nemmere at se, hvad jeg vil, hvis du ser min kode;
if (sch.Month != null) { for (int j = 0; j != sch.Month.Length; j++) { //er ordren aktuel i date måned if (date.Month == sch.Month[j]) { //er day of month lig day of month i date if (sch.DayOfMonth.Length != 0) { for (int k = 0; k != sch.DayOfMonth.Length; k++) { if (sch.DayOfMonth[k] == date.Day) { ToBeExecutedByDate(sch.Id, date, costLocationId); // m_scheduleId.Add(sch.Id); breaked = true; break; } } } else if (sch.DayOfWeek.Length != 0) { //Test af om dayofweek sat for (int l = 0; l != sch.DayOfWeek.Length; l++) { //Test om ugen er lig med denne uge for (int m = 0; m != sch.WeekOfMonth.Length; m++) { string test = sch.WeekOfMonth[m].ToString();
//ugenr. i måned int weekNo = CalculateWeekNoInMonth(date);
if (sch.WeekOfMonth[m] != 5) { if (sch.WeekOfMonth[m] == weekNo) { //er denne valgfri, eller lig dag i date så tilføj til m_schedule if (sch.DayOfWeek[l] == 0) { ToBeExecutedByOptionelDay(sch.Id, date, costLocationId); //m_scheduleId.Add(sch.Id); breaked = true; break; } dayOfWeek = sch.DayOfWeek[l]; if (dayOfWeek == 7) { dayOfWeek = 0; } if (dayOfWeek == (int)date.DayOfWeek) { ToBeExecutedByDate(sch.Id, date, costLocationId); //m_scheduleId.Add(sch.Id);
breaked = true; break; } } } else { //Her skal jeg nu teste om date er sidste uge i en måned - altså om dagen er den sidste dag i en måned }
} } } if (breaked) break; } }
Det er sidste del, jeg nu har problemer med at finde ud af om datoen er sidste uge i en måned
Ja, men her er der jo snak om at dele en måned op i uger(teknisk set) og ikke så meget hvad uger nummer vi har i nuværende år.
mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.