ciao a tutti, esiste uno script che mi dice se ieri era feriale o festivo?
ciao a tutti, esiste uno script che mi dice se ieri era feriale o festivo?
Ciao,
Puoi creare una tabella con tutti i dati e puoi fare una semplice verifica di giorno.
Qui hai tutte le ferie.
Grazie,
Cristiana.
Boh... Ho pasticciato una funzione che ho trovato in questo forum...
Posto magari può servire a qualcuno e ottimizzarla.
Manca da fare un check ed escludere sabato e domenica. Qualora ieri non era festività la funzione torna null.Codice PHP:
// Ieri
$Yesterday = date('Y-m-d', strtotime( '-1 days' ) );
echo giorniLavorativi($Yesterday);
function giorniLavorativi($Yesterday){
//anno attuale
$Year = date('Y');
$NextYear = date('Y', strtotime('+1 year'));
// Calcolo del giorno di Pasqua dall'anno attuale al prossimo
for ($i=$Year; $i<=$NextYear; $i++) {
$pasqua = date('Y-m-d', easter_date($i));
$array_pasqua[] = $pasqua;
}
echo "<br> Pasqua <br> ";
print_r ($array_pasqua);
// Calcolo le rispettive pasquette dall'anno attuale al prossimo
foreach($array_pasqua as $pasqua) {
list ($anno,$mese,$giorno) = explode('-',$pasqua);
$pasquetta = mktime (0,0,0,date($mese),date($giorno)+1,date($anno));
// Trasformo i risultati in timestamp in date
$array_pasquetta[] = date('Y-m-d', $pasquetta);
}
echo "<br> Pasquette <br> ";
print_r ($array_pasquetta);
// questi giorni son sempre festivi a prescindere dall'anno modello è mese-giorno
$giorniFestivi = array($Year.'-01-01', $Year.'-01-06', $Year.'-04-25', $Year.'-05-01', $Year.'-06-02',
$Year.'-08-15', $Year.'-11-01', $Year.'-12-08', $Year.'-12-25', $Year.'-12-26');
echo "<br> Feste generali <br>";
print_r ($giorniFestivi);
echo "<br> Risultato Funzione<br> ";
if (in_array($Yesterday, $array_pasqua)) {
return true;
}
if (in_array($Yesterday, $array_pasquetta)) {
return true;
}
if (in_array($Yesterday, $giorniFestivi)) {
return true;
}
return false;
} // fine funzione
Ieri era domenica
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
Mi date un feedback?? Certo il codice non è il massimo, ma credo funzioni...
Codice PHP:
function giorniLavorativi($Yesterday){
//anno attuale
$Year = date('Y');
$NextYear = date('Y', strtotime('+1 year'));
// Calcolo del giorno di Pasqua dall'anno attuale al prossimo
for ($i=$Year; $i<=$NextYear; $i++) {
$pasqua = date('Y-m-d', easter_date($i));
$array_pasqua[] = $pasqua;
}
echo "<br> Pasqua <br> ";
print_r ($array_pasqua);
// Calcolo le rispettive pasquette dall'anno attuale al prossimo
foreach($array_pasqua as $pasqua) {
list ($anno,$mese,$giorno) = explode('-',$pasqua);
$pasquetta = mktime (0,0,0,date($mese),date($giorno)+1,date($anno));
// Trasformo i risultati in timestamp in date
$array_pasquetta[] = date('Y-m-d', $pasquetta);
}
echo "<br> Pasquette <br> ";
print_r ($array_pasquetta);
// questi giorni son sempre festivi a prescindere dall'anno modello è mese-giorno
$giorniFestivi = array($Year.'-01-01', $Year.'-01-06', $Year.'-04-25', $Year.'-05-01', $Year.'-06-02',
$Year.'-08-15', $Year.'-11-01', $Year.'-12-08', $Year.'-12-25', $Year.'-12-26');
echo "<br> Feste generali <br>";
print_r ($giorniFestivi);
echo "<br> Risultato Funzione<br> ";
if (in_array($Yesterday, $array_pasqua)) {
return true;
}
if (in_array($Yesterday, $array_pasquetta)) {
return true;
}
if (in_array($Yesterday, $giorniFestivi)) {
return true;
}
//WeekEnd?
$timestamp = time();
if(date('D', $timestamp) === 'Fri') || date('D', $timestamp) === 'Sat') || date('D', $timestamp) === 'Sun'){
return false;
}
return false;
} // fine funzione
più o meno fa la stessa cosa questo di script:
http://www.wapposoft.it/festivita_italiane.php
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
Sistemato... Certo il codice non è il massimo...
Codice PHP:
$Yesterday = date('Y-m-d', strtotime( '-1 days' ) );
echo "Festività? ".isHoliday($Yesterday)."<br> ";
function isHoliday($Yesterday){
//anno attuale
$Year = date('Y');
$NextYear = date('Y', strtotime('+1 year'));
// Calcolo del giorno di Pasqua dall'anno attuale al prossimo
for ($i=$Year; $i<=$NextYear; $i++) {
$pasqua = date('Y-m-d', easter_date($i));
$array_pasqua[] = $pasqua;
}
//echo "<br> Pasqua <br> ";
//print_r ($array_pasqua);
// Calcolo le rispettive pasquette dall'anno attuale al prossimo
foreach($array_pasqua as $pasqua) {
list ($anno,$mese,$giorno) = explode('-',$pasqua);
$pasquetta = mktime (0,0,0,date($mese),date($giorno)+1,date($anno));
// Trasformo i risultati in timestamp in date
$array_pasquetta[] = date('Y-m-d', $pasquetta);
}
//echo "<br> Pasquette <br> ";
//print_r ($array_pasquetta);
// questi giorni son sempre festivi a prescindere dall'anno modello è mese-giorno
$giorniFestivi = array($Year.'-01-01', $Year.'-01-06', $Year.'-04-25', $Year.'-05-01', $Year.'-06-02',
$Year.'-08-15', $Year.'-11-01', $Year.'-12-08', $Year.'-12-25', $Year.'-12-26');
//echo "<br> Feste generali <br>";
//print_r ($giorniFestivi);
//echo "<br> Risultato Funzione<br> ";
if (in_array($Yesterday, $array_pasqua)) {
return 1;
}
if (in_array($Yesterday, $array_pasquetta)) {
return 1;
}
if (in_array($Yesterday, $giorniFestivi)) {
return 1;
}
// È weekend?
$Saturday="Saturday";
$Sunday="Sunday";
$giorno=date('l', strtotime($Yesterday));
if (strcmp($giorno, $Saturday) === 0) {
return 1;
}
if (strcmp($giorno, $Sunday) === 0) {
return 1;
}
return 0;
} // fine funzione