Visualizzazione dei risultati da 1 a 6 su 6

Discussione: formato data

  1. #1

    formato data

    ciao,
    ho bisogno di convertire una data in italiano.
    la funzione - setlocale(LC_TIME, 'it_IT') - non funziona, così ho optato per avere un arrai per i mesi

    $mese = array(1=>'gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre','dicembre');

    quindi riesco a stampare la data correttamente ma non ad usarla per un valore estratto da DB.

    come faccio!?!?
    dove cavolo lo metto questo - ".$mese[(date("n"))]." - !?!?
    vorrei sostituirlo a %M nel date_format ma qualcosa non quadra ...


    grazie!

    mari

    $sql = "select *, date_format(data,'%d %M %Y') as data_f, date_format(data2,'%d %M %Y') as data2_f FROM eventi ORDER BY data DESC LIMIT 3 ";

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    107

    Re: formato data

    Originariamente inviato da cybermarinella

    dove cavolo lo metto questo - ".$mese[(date("n"))]." - !?!?
    vorrei sostituirlo a %M nel date_format ma qualcosa non quadra ...
    ciao! potresti spiegarti un po' meglio..tu come vorresti che venga visualizzata la data?
    cos'è che non funziona, la query?

    prova a vedere questa discussione, ho avuto il tuo stesso problema l'ho risolto con un DATE_FORMAT di sql.

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    set lc_time_names = 'it_IT';
    select date_format(curdate(),'%d %M %Y');

  4. #4
    In questo modo riesco a scrivere la data corrente

    //echo {$mese[(date("n"))]}
    ";
    //echo "Oggi è ".$giorno[date("w")]." ".date("d")." ".$mese[(date("n"))]." ".date("Y");
    //echo"
    ";
    //setlocale(LC_TIME, 'it_IT');
    //echo strftime("%A %d %B %Y");


    $mese = array(1=>'gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre','dicembre');




    vorrei però usare questo formato anche per la data estratta da db.
    con questa stringa riesco a sciverla a parole ma in inglese:

    $sql = "select *, date_format(data,'%d %M %Y') as data_f (...);

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    107
    Originariamente inviato da cybermarinella

    vorrei però usare questo formato anche per la data estratta da db.
    con questa stringa riesco a sciverla a parole ma in inglese:

    $sql = "select *, date_format(data,'%d %M %Y') as data_f (...);
    ma non ti dà errore questa query??

    quanti campi devi estrarre oltre alla data?
    Ipotizzando che tu abbia 3 campi sulla tabella e che il terzo sia quello dove salvi la data...potresti riscriverla così:
    Codice PHP:
    $sql "SELECT col1,col2,DATE_FORMAT(col_data,'%d %M %Y') FROM eventi ORDER BY col_data DESC LIMIT 3 ";
    $query mysql_query($sql) or die("Query fallita: ".mysql_error()); 
    poi verifica che la stampi correttamente così:
    Codice PHP:
    while($arr mysql_fetch_array($queryMYSQL_NUM)) {
            
    $campo1=$arr[0];
            
    $campo2=$[1];
            
    $data=$arr[2];  // campo data..verifica posizione sulla tabella
        
    }
    echo 
    "".$data

  6. #6
    Pape 86, non ho capito bene come utilizzare le tue indicazioni, ma ne sono uscita ...
    questa solozione però mi sembra un po' troppo "maccheronica"


    come faccio a gestire la fariabile $row ad un livello globale!?
    grazie!

    <?
    $sql = "select *, date_format(data,'%d %M') as data_f FROM eventi WHERE attivo=1 and archivio=0 ORDER BY data DESC LIMIT 7 ";
    $result = $conn->query($sql) or die(mysqli_error());
    $classe= array("rosso", "giallo", "verde", "blu","rosso", "giallo", "verde");

    if ($stato==1){
    echo "<div id='eventi' class='incorso' > <ul>";
    echo "<li class='label'>";
    $count=0;
    while($row = $result->fetch_object()){
    $month= date_format(date_create($row->data), 'm');
    $day= date_format(date_create($row->data), 'j');
    echo"<li class=".$classe[$count].">$day $mesi[$month] $row->titolo ";
    $count++;
    }
    echo"[/list]<div style='clear:both;'></div> </div>";
    }

    elseif ($stato==2){
    echo "<div id='eventi' class='calendario' > <ul>";
    echo "<li class='label'>";
    $count=0;
    while($row = $result->fetch_object()){
    $month= date_format(date_create($row->data), 'm');
    $day= date_format(date_create($row->data), 'j');
    echo"<li class=".$classe[$count].">$day $mesi[$month] $row->titolo ";
    $count++;
    }
    echo"[/list]<div style='clear:both;'></div> </div>";
    }

    else{
    echo"<div id='eventi' class='none'></div>";
    }

    ?>

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.