2009-08-28 46 views
3

的第一天是有rearange的排序一周天的工作

DateTimeFormat.DayNames 

acording到

DateTimeFormat.FirstDayOfWeek 

因此,如果

DateTimeFormat.FirstDayOfWeek = 1 

DayNames中containts MON一个更好的办法, tue,wed,...
insted的儿子,星期一,星期二,...
我目前使用:

CultureInfo culture = System.Globalization.CultureInfo.CurrentUICulture; 
string[] DayNames = culture.DateTimeFormat.DayNames; 
int FirstDayOfWeek = (int)culture.DateTimeFormat.FirstDayOfWeek; 
int daysInMonth = DateTime.DaysInMonth(year, month); 
string[] tempdays = new string[7]; 
for (int i = 0; i <= DayNames.GetUpperBound(0); i++) 
{ 
    tempdays[i] = DayNames[i == 0 ? FirstDayOfWeek : 
          (i == 6 - FirstDayOfWeek ? 6 : 
          i > 6 - FirstDayOfWeek ? 0 != (6 - (i + (FirstDayOfWeek - 1))) ? 
          (6 - (i + (FirstDayOfWeek - 1))) * -1 : 
          6 - (i + (FirstDayOfWeek - 1)) : i + FirstDayOfWeek)]; 
} 

回答

4

你有效地实施模运算符,所以您可以简化表达

tempdays[i] = DayNames[ (FirstDayOfWeek + i) % 7 ];