oroknaptar

Rancz Lajos csigaelektro at freemail.hu
Fri Apr 29 16:31:09 CEST 2005


Eszembe jutott egy kis gyorsítás, szóval, ha ven olyanunk, hogy:

__flash unsigned int daySumsInMonth[12] = {31, 59, 90 stb...} akkor a hónap növelés ciklusa megúszható: daycnt += daySumsInMonth[time.month-1];

Üdv,
	Lajos

On Fri, 29 Apr 2005 16:25:55 +0200, Rancz Lajos wrote:
> Helló!
>
> Rakéta verseny van? ;-) na, akkor én is beszúrom C-be:
>
> __flash unsigned char daysInMonth[12] = {31, 28, 31, 30, 31, 30,
> 31, 31, 30, 31, 30, 31}; unsigned int        daycnt = 0;
>
> // eltelt evek alapjan, 2003.jan.1. tõl számolunk
> daycnt += (time.year - 3) * 365;
> // elmult szokoevek alapjan
> daycnt += (time.year - 1) / 4;
>
> // elmult honapok
> for (i = 0; i < time.month - 1; i++)
> {
> daycnt += daysInMonth[i];
> }
>
> // nap szama a honapon belul
> daycnt += time.day;
>
> // szokoev es elmult mar februar
> if ((time.year % 4 == 0) && time.month > 2)
> daycnt++;
>
> // kiszamitas es tarolas
> time.dayofWeek = (daycnt + 1) % 7;
>
> Üdv,
> Lajos
>




More information about the Elektro mailing list