Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525

    ricavare quali mesi tra due date

    Salve... ho due date nel formato date (aaaa-mm-gg) e devo ricavare quali mesi intercorrono tra le due.... il caso si complica se l'anno è diverso.... c'è qualche funzione diretta???
    Ad esempio tra le date 2008-07-20 e 2009-02-10 ci sono i mesi:
    Luglio ag - sett - ott - nov - dicembre Gennaio e Febbraio :

    in effetti si potrebbero ricavare i mesi dalla prima data alla fine del 2008 e dall'inizio del 2009 alla seconda data....

    Thxxx

  2. #2
    E' sufficiente un ciclo (es. while) e le funzioni http://www.php.net/date ed http://www.php.net/mktime per ciclare per ogni primo del mese a partire dal mese/anno della data minore fino a superare la data maggiore.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    Ho fatto qke test, sembra funzicare...

    function get_intervallo($data_inizio,$data_fine){
    $array_data_inizio=explode("-",$data_inizio);
    $mm_inizio=$array_data_inizio[1];
    $anno_inizio=$array_data_inizio[0];

    $array_data_fine=explode("-",$data_fine);
    $mm_fine=$array_data_fine[1];
    $anno_fine=$array_data_fine[0];

    if ($anno_inizio==$anno_fine){
    $anni[]=anno_inizio;
    if ($mm_inizio==$mm_fine){
    $mesi[]=$mm_inizio;
    }
    else{
    for($i=$mm_inizio; $i<=$mm_fine; $i++){
    echo "
    i".$i;
    $mesi[]=$i;
    }
    }
    }
    else{ // anni diversi
    for($i=$mm_inizio; $i<=12; $i++)
    $mesi[]=$i;
    for($i=1; $i<=$mm_fine; $i++)
    $mesi[]=$i;
    }
    $mesi=array_unique($mesi);
    print_r($mesi);
    $result['anni']=$anni;
    $result['mesi']=$mesi;

    return $result;
    }

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.