A me così da valori esatti ...
codice:void num2date (long ng, int *gg, int *mm, int *aa) { for (*aa = 0; ((ng >= 365 && (!(isBisS(*aa))))||(ng >= 366 && isBisS(*aa))); (*aa)++) if (isBisS(*aa)) ng -= 366; else ng -= 365; for (*mm = 1; (( *mm == 2 && (( ng > 29 && isBisS (*aa))||(ng> 28 && !isBisS (*aa)))) || (( *mm == 4 || *mm == 6 || *mm == 9 || *mm == 11) && ng > 30) || ng > 31); (*mm)++ ) { if (*mm == 2) if (isBisS(*aa)) ng -= 29; else ng -= 28; else if (*mm == 4 || *mm == 6 || *mm == 9 || *mm == 11) ng -= 30; else ng -= 31; } *gg = ng+1; return; }

Rispondi quotando