salve, volevo sapere se qualcuno sapeva calcolare il numero progressivo di una data dall'inizio dell'anno. Per esempio il 31/gennaio è il 31-esimo giorno ecc. E sapere il giorno della settimana di una qualsiasi data che va dal 1900 fino al 2099.
Per il giorno progressivo dal 1/1 non so da dove partire!!!!
---edit ho provato a scrivere questo ma non da i risultati sperati:
anzi sembra che dia i risultati sperati ma non sono sicuro!
Codice PHP:
int giorno=4;
int mese=12;
int anno=2008;
int n=0;
for(int i=1;i<12;i++){
if(i<mese)
switch(i){
case 1:n=n+31;break;
case 2:anno%4==0?n+=29:n+=28;break;
case 3:n+=31;break;
case 4:n+=30;break;
case 5:n+=31;break;
case 6:n+=30;break;
case 7:n+=31;break;
case 8:n+=31;break;
case 9:n+=30;break;
case 10:n+=31;break;
case 11:n+=30;break;
}
else{
n+=giorno;
break;
}
}
cout<<n;
Per il giorno della settimana ho invece pensato di usare questa formula trovata in rete
Codice PHP:
Metodo della formula per stabilire il giorno della settimana
Si può stabilire il giorno della settimana relativo a qualsiasi data successiva al 15-10-1582 anche mediante l'applicazione di questa formula:
x = N + (q)(N - 1) : 4 - (q)(N - 1) : 100 + (q)(N - 1) : 400 + t
dove N è l'anno relativo alla data che interessa, (q)(N - 1) : 4 , (q)(N - 1) : 100 e (q)(N - 1) : 400 sono la parte intera dei quozienti delle tre divisioni di (N - 1) rispettivamente per 4, per 100 e per 400 e t rappresenta la data annuale del giorno considerato, ovvero il numero di giorni trascorsi dall'inizio dell'anno fino al giorno stesso (compreso).
Una volta calcolato x, occorrerà trovare il resto della divisione
x : 7,
fonte