Settimana corrente/scorsa/prossima

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
Ciao ,
questa funzione restituisce un array contenente la data di inizio e fine settimana ( corrente scorsa prossima)

usa in particolare le funzioni strtotime() e mktime() per recuperare i valori
PHP:
<?php

function settimanaCorrente() {
    $array = array();

    /*     * ****** SETTIMANA CORRENTE ******** */

    // recuperiamo la prossima domenica
    $domenica = date('Y-m-d', strtotime("next Sunday"));
    // ne creiamo un array
    $dt = explode('-', $domenica);
    // recuperiamo il lunedi precedente
    $lunedi = date("Y-m-d", mktime(0, 0, 0, $dt[1], $dt[2] - 6, $dt[0]));
    // memorizziamo settimana corrente
    $array['corrente']['dal'] = $lunedi;
    $array['corrente']['al'] = $domenica;

    /*     * ****** SETTIMANA SCORSA ******** */

    // recuperiamo la scorsa domenica
    $domenica = date('Y-m-d', strtotime("last Sunday"));
    // ne creiamo un array
    $dt = explode('-', $domenica);
    // recuperiamo il lunedi precedente
    $lunedi = date("Y-m-d", mktime(0, 0, 0, $dt[1], $dt[2] - 6, $dt[0]));
    // memorizziamo settimana scorsa
    $array['scorsa']['dal'] = $lunedi;
    $array['scorsa']['al'] = $domenica;

    /*     * ****** SETTIMANA PROSSIMA ******** */

    // recuperiamo il prossimo lunedi
    $lunedi = date('Y-m-d', strtotime("next Monday"));
    // ne creiamo un array
    $dt = explode('-', $lunedi);
    // recuperiamo la domenica sucessiva
    $domenica = date("Y-m-d", mktime(0, 0, 0, $dt[1], $dt[2] + 6, $dt[0]));
    // memorizziamo settimana prossima
    $array['prossima']['dal'] = $lunedi;
    $array['prossima']['al'] = $domenica;
    return $array;
}
?>
richiamo
PHP:
// richiamo della fuznione
$settimana = settimanaCorrente();
// visulizzo l'array
var_dump($settimana);
output
Codice:
array
  'corrente' => 
    array
      'dal' => string '2012-10-01' (length=10)
      'al' => string '2012-10-07' (length=10)
  'scorsa' => 
    array
      'dal' => string '2012-09-24' (length=10)
      'al' => string '2012-09-30' (length=10)
  'prossima' => 
    array
      'dal' => string '2012-10-08' (length=10)
      'al' => string '2012-10-14' (length=10)

Ho usato le date nel formato di sQL ma modificando leggermente si potrebbero formattare in un altro modo

:byebye:
 
Ultima modifica di un moderatore:

Discussioni simili