Ciao a tutti!
Ho un'applicazione che mi dovrebbe controllare che se un giorno è festivo, o non lavorativo (quindi sabato o domenica), mi dovrebbe saltare al prossimo lavorativo!
Come posso fare?
Grazie
Ciao a tutti!
Ho un'applicazione che mi dovrebbe controllare che se un giorno è festivo, o non lavorativo (quindi sabato o domenica), mi dovrebbe saltare al prossimo lavorativo!
Come posso fare?
Grazie
Sei l'eventualità di un'anomalia che nonostante i miei più onesti sforzi non sono stato in grado di eliminare da quella che altrimenti sarebbe un'armonia di precisione matematica..
un giochino con le datecontroli ii giorno e quindi la data presa da un db o qualcosa del genere(non hai specificato cosa usi di preciso) la converti con un date(); mktime(); o cose simili e se il giorno il lettere riulta sabato o domnica(a seconda della formattazione) esegui questo o quello.
date('w')=0 se è domenica
date('w')=6 se è sabato
Uso MySqlOriginariamente inviato da marco80
un giochino con le datecontroli ii giorno e quindi la data presa da un db o qualcosa del genere(non hai specificato cosa usi di preciso) la converti con un date(); mktime(); o cose simili e se il giorno il lettere riulta sabato o domnica(a seconda della formattazione) esegui questo o quello.
La data la prendo da db se c'è qualcosa di già inserito, o di sistema se sono al primo inserimento!
Mi piace la soluzione.. ma non saprei come farla! Scusa..
Mi potresti aiutare?
Sei l'eventualità di un'anomalia che nonostante i miei più onesti sforzi non sono stato in grado di eliminare da quella che altrimenti sarebbe un'armonia di precisione matematica..
che tipo di campo hai nel db? date o timestamp?? 2006-01-04 o 141414124 ??
SELECT DAYOFWEEK(DATA) FROM TABELLA
(1 = Domenica, 2 = Lunedì, ..., 7 = Sabato)
ti arrabbi se dico varchar(10)?Originariamente inviato da marco80
che tipo di campo hai nel db? date o timestamp?? 2006-01-04 o 141414124 ??
Sei l'eventualità di un'anomalia che nonostante i miei più onesti sforzi non sono stato in grado di eliminare da quella che altrimenti sarebbe un'armonia di precisione matematica..
Sarebbe opportuno il tipo per date, il fatto e' che con un campo testuale devi essere sicuro che tutte le date siano state inserite con lo stesso modo( simbolo separatore - : . ) e nella stessa sequenza(anno mese giorno). Questo per fare un controllo.
Di questo sono sicurissimo..Originariamente inviato da marco80
Sarebbe opportuno il tipo per date, il fatto e' che con un campo testuale devi essere sicuro che tutte le date siano state inserite con lo stesso modo( simbolo separatore - : . ) e nella stessa sequenza(anno mese giorno). Questo per fare un controllo.
Sei l'eventualità di un'anomalia che nonostante i miei più onesti sforzi non sono stato in grado di eliminare da quella che altrimenti sarebbe un'armonia di precisione matematica..
Se hai i dati in un campo varchar penso che dovresti esplodere la stringa:Originariamente inviato da Teuzzo
date('w')=0 se è domenica
date('w')=6 se è sabato
almeno questo è quello che mi viene in mente ora, non l'ho provata, se vuoi provala e vedi se ti può andare bene....Codice PHP:
/*ti crei un array con i giorni festivi nel formato yyyy-mm-dd (o il formato in cui la data è salvata nel DB)
Ex:
$arrFeste = ('2005-12-24','2005-12-25','2005-12-26'...);
*/
$arrFeste = ('2005-12-24','2005-12-25','2005-12-26'...);
list($anno,$mese,$giorno) = explode('-',$strDate);
//poi come ti ha scritto Teuzzo:
$weekDay = date('w',mktime(0,0,0,$mese,$giorno,$anno));
if($weekDay == 6 || $weekDay == 0 || in_array($strDate,$arrFeste))
echo "giorno festivo";
else
echo "giorno lavorativo";
ciao