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

    [PHP] cambiare mese in formato più umano

    Avrei un problemino di questo genere
    ho una variabile
    $mese che contiene la seguente stringa "__/01/" inerente i mesi dell'anno, stringa che ovviamente varia a seconta del tipo di "_GET" che riceve la variabile dal form, quindi può essere "__/02/", oppure "__/03/", ecc. per tutti i mesi dell'anno.
    Io devo visualizzare questa variabile ma in modo da presentarmi i mesi dell'anno nel modo esteso, ho provato in questo modo:

    $mese = $mesegiusto;
    switch ($mesegiusto) {
    case '__/01/': $mesegiusto ='Gennaio'; break;
    case '__/02/': $mesegiusto ='Febbraio'; break;
    case '__/03/': $mesegiusto ='Marzo'; break;
    case '__/04/': $mesegiusto ='Aprile'; break;
    case '__/05/': $mesegiusto ='Maggio'; break;
    case '__/06/': $mesegiusto ='Giugno'; break;
    case '__/07/': $mesegiusto ='Luglio'; break;
    case '__/08/': $mesegiusto ='Agosto'; break;
    case '__/09/': $mesegiusto ='Settembre'; break;
    case '__/10/': $mesegiusto ='Ottobre'; break;
    case '__/11/': $mesegiusto ='Novembre'; break;
    case '__/12/': $mesegiusto ='Dicembre'; break;
    }
    Ho inserito la variabile $mese nella variabile $mesegiusto per poter comunque utilizzare la variabile $mese (con la stringa originale) per altri compiti più importanti.
    Ovviamente la variabile $mese contiene solo formato testo e non data.
    Quando vado a stampare a video la variabile $mesegiusto non mi stampa niente.
    Che cosa sbaglio?
    Fare....o NON fare...non c'è tentare!
    YODA

  2. #2
    visto che arriva da un form (presumo tuo) perche' complichi le cose? manda il numero relativo al mese. poi ti fai un array con indice numerico dove ad ogni mese corrisponde l'indice numerico ed il problema e' risolto.
    ti posto un esempio che potrai adattare come meglio ti serve:
    codice:
    <?php
    
    function dataOggi()  {
        $mesi = array (
                       "0" => "Null",
                       "1" => "Gennaio",
                       "2" => "Febbraio",
                       "3" => "Marzo",
                       "4" => "Aprile",
                       "5" => "Maggio",
                       "6" => "Giugno",
                       "7" => "Luglio",
                       "8" => "Agosto",
                       "9" => "Settembre",
                       "10" => "Ottobre",
                       "11" => "Novembre",
                       "12" => "Dicembre"
                      );
    
      $giorni = array (
                       "0" => "Domenica",
                       "1" => "Lunedì",
                       "2" => "Martedì",
                       "3" => "Mercoledì",
                       "4" => "Giovedì",
                       "5" => "Venerdì",
                       "6" => "Sabato"
                      );
    
        $giorno = date('w');
        $mese   = date('n');
    
        return "Oggi è $giorni[$giorno] " .date('d').
               " del mese di $mesi[$mese] dell'anno "
               . date('Y') . " - Sono le ore " .date('H:i');
    }
    
    echo dataOggi();
    
    
    ?>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Non credo di aver capito,
    il codice che mi hai postato mi sembra lo stesso che uso per visualizzare la data in formato "italiano", ma io uso una stringa in formato testo, funziona lo stesso?
    Mi sembrava più semplice il mio esempio, se funzionasse!
    Fare....o NON fare...non c'è tentare!
    YODA

  4. #4
    Originariamente inviato da Griffonsuper
    Non credo di aver capito,
    il codice che mi hai postato mi sembra lo stesso che uso per visualizzare la data in formato "italiano", ma io uso una stringa in formato testo, funziona lo stesso?
    Mi sembrava più semplice il mio esempio, se funzionasse!
    e allora usa il tuo....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ho risolto!
    bastava semplicemente fare così:

    $mesegiusto = $mese;
    switch ($mesegiusto) {
    case '__/01/': $mesegiusto ='Gennaio'; break;
    case '__/02/': $mesegiusto ='Febbraio'; break;
    case '__/03/': $mesegiusto ='Marzo'; break;
    case '__/04/': $mesegiusto ='Aprile'; break;
    case '__/05/': $mesegiusto ='Maggio'; break;
    case '__/06/': $mesegiusto ='Giugno'; break;
    case '__/07/': $mesegiusto ='Luglio'; break;
    case '__/08/': $mesegiusto ='Agosto'; break;
    case '__/09/': $mesegiusto ='Settembre'; break;
    case '__/10/': $mesegiusto ='Ottobre'; break;
    case '__/11/': $mesegiusto ='Novembre'; break;
    case '__/12/': $mesegiusto ='Dicembre'; break;
    }

    sbagliavo a mettere la variabile $mese dopo la variabile $mesegiusto!
    Vabbè, come si dice dalle mie parti:
    se non ce n'è dentro...non ne viene fuori!
    Fare....o NON fare...non c'è tentare!
    YODA

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 © 2024 vBulletin Solutions, Inc. All rights reserved.