Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99

    Che tipo di giorno era ieri?

    ciao a tutti, esiste uno script che mi dice se ieri era feriale o festivo?

  2. #2
    Ciao,

    Puoi creare una tabella con tutti i dati e puoi fare una semplice verifica di giorno.
    Qui hai tutte le ferie.

    Grazie,
    Cristiana.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    Boh... Ho pasticciato una funzione che ho trovato in questo forum...
    Posto magari può servire a qualcuno e ottimizzarla.

    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 
    Manca da fare un check ed escludere sabato e domenica. Qualora ieri non era festività la funzione torna null.

  4. #4
    Ieri era domenica
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    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 

  6. #6
    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    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 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.