- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
private int GetMaxDayValue(int month, int year)
{
int value = 0;
switch (month)
{
case 1:
value = 31;
break;
case 2:
switch (year)
{
case 2008:
value = 29;
break;
case 2009:
value = 28;
break;
case 2010:
value = 28;
break;
case 2011:
value = 28;
break;
case 2012:
value = 29;
break;
case 2013:
value = 28;
break;
case 2014:
value = 28;
break;
case 2015:
value = 28;
break;
case 2016:
value = 29;
break;
}
break;
case 3:
value = 31;
break;
case 4:
value = 30;
break;
case 5:
value = 31;
break;
case 6:
value = 30;
break;
case 7:
value = 31;
break;
case 8:
value = 31;
break;
case 9:
value = 30;
break;
case 10:
value = 31;
break;
case 11:
value = 30;
break;
case 12:
value = 31;
break;
}
return value;
}
Конечно если человек принципиально не использует %...
а вдруг проведут очередную нанореформу и календарь изменится?
Реформа была введена т.к. министр обороны опередил общепринятый календарь на неделю и часто пропускал собрания.
{
if ((month < 1) || (month > 12))
{
throw new ArgumentOutOfRangeException("month", Environment.GetResourceString("ArgumentO utOfRange_Month"));
}
int[] numArray = IsLeapYear(year) ? DaysToMonth366 : DaysToMonth365;
return (numArray[month] - numArray[month - 1]);
}
где
DaysToMonth365 = new int[] { 0, 0x1f, 0x3b, 90, 120, 0x97, 0xb5, 0xd4, 0xf3, 0x111, 0x130, 0x14e, 0x16d };
DaysToMonth366 = new int[] { 0, 0x1f, 60, 0x5b, 0x79, 0x98, 0xb6, 0xd5, 0xf4, 0x112, 0x131, 0x14f, 0x16e };
надо бы отдельным говнокодом.
я тут сырцы жабы как-то постил. а выходит у МS все гораздо хуже.
просто этого никому кроме любознательных не видно..
Не кал начинающего говнокодера, а качественное профессиональное говно.
Ещё претензии есть?
Для month=12 будет numArray[12]-numArray[11], а для month=1 будет numArray[1]-numArray[0]. Это издержки выбранной модели.
private int GetMaxDayValue(int month, int year)
{
switch (month)
{
case 1:
return 31;
case 2:
switch (year)
{
case 2008:
return 29;
case 2009:
return 28;
case 2010:
return 28;
case 2011:
return 28;
case 2012:
return 29;
case 2013:
return 28;
case 2014:
return 28;
case 2015:
return 28;
case 2016:
return 29;
}
case 3:
return 31;
case 4:
return 30;
case 5:
return 31;
case 6:
return 30;
case 7:
return 31;
case 8:
return 31;
case 9:
return 30;
case 10:
return 31;
case 11:
return 30;
case 12:
return 31;
}
}