DayOfWeek returnernar söndag som första dag i veckan. Hur sätter jag FirstDayOfWeek till måndag för DayOfWeek? dow = date.DayOfWeek; // 0 = Sunday, ..., 6 = Saturday Det fungerar... men är det verkligen nödvändigt att räkna ut det? ja.. kör du på en svensk eller engelsk windows? (om du inte explicit sätter Thread.CurrentThread.CultureInfo) "DayOfWeek returnernar söndag som första dag i veckan. Hur sätter jag FirstDayOfWeek till måndag för DayOfWeek? " Jag använder ett svenskt Windows och allt är inställt på svenska/Sverige i Nationella inställningar.DayOfWeek - FirstDayOfWeek
ThomasSv: DayOfWeek - FirstDayOfWeek
dow = (dow + 6) % 7; // 0 = Monday, ..., 6 = SundaySv:DayOfWeek - FirstDayOfWeek
ThomasSv: DayOfWeek - FirstDayOfWeek
Sv: DayOfWeek - FirstDayOfWeek
Precis som thomas påpekar så returnerara FirstDayOfWeek alltid den information som man får ut för den regional settings man har på maskinen, så om du har satt svenska som din regional settins så skall du inte få ut söndag utan måndag, om du däremot har amerikansak som reginal settins så kommer du få söndag och inte måndag.
Så om du råkar ha en website på en amerikans server så kommer du alltid få söndag på denna fråga, änna tills du själv ändrar och säger att du just i denna tråd/proccess vill köra med svenska setting och då kommer du få måndag som första dag i veckan, samt att din datum kommer se bättre ut :)
- MSv:DayOfWeek - FirstDayOfWeek
Att ändra på Thread.CurrentThread.CultureInfo känns inte helt rätt heller. Det enda jag vill ändra på är FirstDayOfWeek, alla andra inställningar vill jag givetvis ha kvar så som användaren vill ha det.
Edit: Det är ett vanligt Windows-program jag gör och ingen ASP.NET-sida.
Thomas