Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [MySql -Php] date italiano

    Ciao a tutti,
    sono alle prese con l'estrazione da mysql del contenuto di un campo "date" (aaaa-mmm-gg) e della sua formattazione in formatto italiano, o meglio europeo!, (gg-mmm-aaaaa) e della sua traduzione del mese in italiano. Ho controllato le numerose e valide discussioni sul forum a riguardo, ma niente...

    Ho realizzato la seguente query con date_format trasformo il foramato ed è ok
    Codice PHP:
    $query2 "SELECT *, date_format(responsabile_dal,'%M %Y') as time FROM ...";
    $result2 mysql_query($query2$db) or die( "Errore: " mysql_error() );
    $numrows2 mysql_num_rows($result2);
    while (
    $rows2=mysql_fetch_assoc($result2)) {
    ... 

    ho provato per stamparmi il mese in italiano (Gennaio, Febbraio, ...) inizialmente così:
    Codice PHP:
    setlocale(LC_TIME'it-IT');
    echo 
    strftime$rows2['time'] ); 
    ma nn funziona...

    quindi ho tentato con un array, in questo modo:
    Codice PHP:
        $dato $rows2['time'];
        if (
    $dato == January) { $dato "Gennaio"; }
        if (
    $dato == February) { $dato "Febbraio"; }
        if (
    $dato == March) { $dato "Marzo"; }
        if (
    $dato == April) { $dato "Aprile"; }
        if (
    $dato == May) { $dato "Maggio"; }
        if (
    $dato == June) { $dato "Giugno"; }
        if (
    $dato == July) { $dato "Luglio"; }
        if (
    $dato == August) { $dato "Agosto"; }
        if (
    $dato == September) { $dato "Settembre"; }
        if (
    $dato == October) { $dato "Ottobre"; }
        if (
    $dato == November) { $dato "Novembre"; }
        if (
    $dato == December) { $dato "Dicembre"; }
        echo 
    $dato "
    e neanche così funziona
    sto mica sbagliando qualcosa?? e dove?? :master:

    grazie a tutti


  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    In mysql

    set lc_time_names = 'it_IT';
    select date_format(campo_data,"%d-%M-%Y") ...

  3. #3
    Originariamente inviato da nicola75ss
    In mysql

    set lc_time_names = 'it_IT';
    select date_format(campo_data,"%d-%M-%Y") ...
    grazie nicola75

    a me servirebbe eseguirlo con PHP, almeno la trasduzione del mese, non con Mysql.

    con sql ho la select: date_format(campo_data, '%M %Y') FROM.... a me %d non serve. Voglio mese in italiano e anno

    e poi set lc_time_names = 'it_IT'; dove e come lo inserisco?


  4. #4
    Due cose
    - strftime() vuole due argomenti: il formato dell'output richiesto, e uno unix timestamp - non trasforma le cose per magia
    - il nome corretto e' 'it_IT', 'it-IT' e' sbagliato

    Questo codice:

    Codice PHP:
    <?php
    setlocale
    (LC_ALL'it_IT');
    echo 
    strftime("%B"time());
    ?>
    su un sistema linux con le locale installate correttamente, dovrebbe stampare 'luglio'.

  5. #5
    Originariamente inviato da k.b
    Due cose
    - strftime() vuole due argomenti: il formato dell'output richiesto, e uno unix timestamp - non trasforma le cose per magia
    - il nome corretto e' 'it_IT', 'it-IT' e' sbagliato

    Questo codice:

    Codice PHP:
    <?php
    setlocale
    (LC_ALL'it_IT');
    echo 
    strftime("%B"time());
    ?>
    su un sistema linux con le locale installate correttamente, dovrebbe stampare 'luglio'.
    grazie k.b.

    lavoro su winxppro con apache e 'it-IT' sotto win funziona, mentre non funziona 'it_IT'.
    inoltre a me servirebbe che mi venisse stampato in italiano l'interrogazione di una determianta data, quindi un campo mysql (date), e non la data attuale o corrente.
    con strftime("%B", time()); mi stampa certo "luglio" ma voglio che mi stampi il contenuto di $rows2['time']

  6. #6
    Allora dal db estrai il campo Date cosi' com'e' senza formattarlo, e usa

    Codice PHP:
    echo strftime("%B"strtotime($rows2['time'])); 

  7. #7
    Originariamente inviato da k.b
    Allora dal db estrai il campo Date cosi' com'e' senza formattarlo, e usa

    Codice PHP:
    echo strftime("%B"strtotime($rows2['time'])); 


    grazie k.b.
    sbattevo la testa su strotime!!!!

    ora funge


  8. #8
    come mai la scrittura del mese in italiano tramite array non funziona??

    Codice PHP:
    $dato $rows2['time']; 
        if (
    $dato == January) { $dato "Gennaio"; } 
        if (
    $dato == February) { $dato "Febbraio"; } 
        if (
    $dato == March) { $dato "Marzo"; } 
        if (
    $dato == April) { $dato "Aprile"; } 
        if (
    $dato == May) { $dato "Maggio"; } 
        if (
    $dato == June) { $dato "Giugno"; } 
        if (
    $dato == July) { $dato "Luglio"; } 
        if (
    $dato == August) { $dato "Agosto"; } 
        if (
    $dato == September) { $dato "Settembre"; } 
        if (
    $dato == October) { $dato "Ottobre"; } 
        if (
    $dato == November) { $dato "Novembre"; } 
        if (
    $dato == December) { $dato "Dicembre"; } 
        echo 
    $dato "

  9. #9
    Perche' se estrai la data formattandola con "MESE ANNO" non conterra' mai SOLO il mese.

  10. #10
    Utente bannato
    Registrato dal
    Feb 2005
    Messaggi
    440
    // come dice k.b. devi solo prendere il mese
    $dato = $rows2['time'];

    // TODO: poi converti $dato in formato di testo e correggi l'if
    if ($dato == "January") { $dato = "Gennaio"; }
    ...

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.