10. maj 2011 - 11:45Der er
6 kommentarer og 1 løsning
datetime er denne uge
jeg vil gerne lave en funktion som tester om en datetime ligger i den aktuelle uge, jeg er kommet frem til følgende. Kan nogen sige om det er lavet rigtigt? min uge skal starte mandag og slutte søndag til midnat:
public static bool IsThisWeek(DateTime dtmDate) { bool blnReturn = false;
System.Globalization.CultureInfo myCI = new CultureInfo("da-DK"); int intWeeknow = myCI.Calendar.GetWeekOfYear(DateTime.Now, System.Globalization.CalendarWeekRule.FirstFourDayWeek, System.DayOfWeek.Monday); int intWeek = myCI.Calendar.GetWeekOfYear(dtmDate, System.Globalization.CalendarWeekRule.FirstFourDayWeek, System.DayOfWeek.Monday);
namespace E { public static class MyExtensions { // ISO week number private static int WeekNum(int year, int mon, int day) { int a = (14 - mon) / 12; int y = year + 4800 - a; int m = mon + 12*a - 3; int JD = day + (153 * m + 2)/5 + 365*y + y/4 - y/100 + y/400 - 32045; int d4 = (((JD + 31741 - JD % 7) % 146097) % 36524) % 1461; int L = d4 / 1460; int d1 = ((d4 - L) % 365) + L; return d1 / 7 + 1; } public static int GetWeekNum(this DateTime dt) { return WeekNum(dt.Year, dt.Month, dt.Day); } } public class Program { public static bool IsSameWeek1(DateTime d1, DateTime d2) { CultureInfo ci = new CultureInfo("da-DK"); return ci.Calendar.GetWeekOfYear(d1, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday) == ci.Calendar.GetWeekOfYear(d2, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
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.