Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Range di date, eliminare i weekend!

    Ciao a tutti,
    io tramite due data picker prelevo due date da un form, esempio:
    2013-01-07 (questo lunedì)
    2013-01-20 (domenica fra due settimane)

    Vorrei una funzione che, se inserite le due date qui sopra, mi restituisse queste risultato:
    2013-01-07
    2013-01-08
    2013-01-09
    2013-01-10
    2013-01-11

    2013-01-14
    2013-01-15
    2013-01-16
    2013-01-17
    2013-01-18

    Come avete notato, non sono presenti le date 2013-01-12, 2013-01-13,2013-01-19 e 2013-01-20 (che sono i week end).
    Per poi attraverso una query inserire questi dati (in questo caso la query verrà eseguita 10, con ogni volta la data successiva).


    Aiuti?! Grazie =)

  2. #2

  3. #3
    Codice buttato giù al volo facendo delle prove per cui sicuramente ottimizzabile:

    Codice PHP:
    function getDateWithoutWeekend($startDate$endDate) {
        
    $d strtotime($startDate);
        while (
    $d strtotime($endDate)) {
            if (!(
    date('N'strtotime(date('Y-m-d'$d))) >= 6)) {
                
    $dates[] = date('Y-m-d'$d);
            }
            
    $d += 86400;
        }
        return 
    $dates;
    }

    $dates getDateWithoutWeekend('2013-01-06''2013-01-20');
    foreach (
    $dates as $date) {
        echo 
    $date."
    "
    ;
    }
    ?> 
    P.S.
    Le date non sono il mio forte.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Originariamente inviato da satifal
    Codice buttato giù al volo facendo delle prove per cui sicuramente ottimizzabile:

    Codice PHP:
    function getDateWithoutWeekend($startDate$endDate) {
        
    $d strtotime($startDate);
        while (
    $d strtotime($endDate)) {
            if (!(
    date('N'strtotime(date('Y-m-d'$d))) >= 6)) {
                
    $dates[] = date('Y-m-d'$d);
            }
            
    $d += 86400;
        }
        return 
    $dates;
    }

    $dates getDateWithoutWeekend('2013-01-06''2013-01-20');
    foreach (
    $dates as $date) {
        echo 
    $date."
    "
    ;
    }
    ?> 
    P.S.
    Le date non sono il mio forte.
    Grazie mille, ho modificato il < con <= xk se no non mi prendeva l'ultimo giorno di vacanza inserito!

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.