Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
//Функция выдает правильный результат для промежутка 2000 ... 2099 гг.
//Day : 1..31,Month: 1..12,Year: 0..99; DayOfWeek: 1..7 (Вс..Сб)
static const unsigned char MONTH[12]={0,3,3,6,1,4,6,2,5,0,3,5};
static const unsigned char YEARS[4]={0,2,3,4};
unsigned char DayOfWeek(unsigned char Day,unsigned char Month,unsigned char Year)
{
char a,b,c,tmp;
tmp=Year+4;
a=tmp&0x03;
b=(tmp>>2)+(tmp&0xFC);
c=MONTH[(Month-1)];
if((!a)&&((Month-1)>1)) c++;
a=YEARS[a];
return (a+b+c+Day)%7+1;
}
Составить ответ | Вернуться на конференцию
Ответы