Se le pasa la fecha y devuelve el día del año:
uint16_t diaDelAnyo(int anyo, int mes, int diaDelMes) {
const uint8_t diasMeses[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
bool bisiesto;
uint16_t dias = 0;
if ((anyo % 400 == 0 ) || ((anyo % 4 == 0) && (anyo % 100 != 0)))
bisiesto = true;
else
bisiesto = false;
for (int contadorMes = 0; contadorMes < (mes - 1); contadorMes++) {
dias += diasMeses[contadorMes];
if (contadorMes == 1 && bisiesto){
dias++;
}
}
return dias + diaDelMes;
}
Saludos.