Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454

    [PHP] Formattazione data/ora

    Salve ragazzi,

    ho una domanda.

    Io ho questo codice:

    Codice PHP:
    $data=gmstrftime("%d %b %H:%M"time());
    echo 
    $data
    Questo mi restituisce: 08 Jun 18:14

    Ora, ho due domande a rigaurdo.

    La prima è: Come faccio a fargli prendere l'abbreviazione italiana del mese (cioé qui per esempio Giu)? C'è qualche funzione già pronta per questo oppure devo fare che ne so, con un str_replace? Ma si può fare con un array? (sono 12 mesi) Oppure con uno switch? ma come?

    Passiamo alla seconda domanda: lo 0 iniziale ai giorni, si può togliere in qualche modo cambiando magari il tipo di formattazione in gmstrftime()? O in qualsiasi altro modo?


    Molto gentili come sempre, Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Per la prima domanda

    guarda qua i caratteri di formattazione, estrai il mesein formato numerico, crei un array con i nome dei mese e stampi
    arraymese[mesenumerico];

    2) puoi fare così

    if(substr($stringagiorni,0,1)=="0"){
    $stringagiorni = substr(1,strlen($stringagiorni));
    }

  3. #3
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Per la prima, io l'arabo non lo so

    Non è che mi potresti spiegare meglio?

    Per la seconda, ho fatto così:

    Codice PHP:
    $data=gmstrftime("%d %b %H:%M"time());
    if(
    substr($data,0,1)=="0"){ 
    $data1 substr(1,strlen($data)); 
    }

    echo 
    $data1
    Il risultato è, che non mi visualizza niente.

  4. #4
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Per la prima avevo già rispopsto in un'altro topic...
    Codice PHP:
    <?
    $giorno 
    getdate();
    $month $giorno['month'];
    $mday $giorno['mday'];
    $year $giorno['year'];
    switch (
    $month) {
       case 
    "January":
           
    $month 'Gennaio';
           break;
       case 
    "February":
           
    $month 'Febbraio';
           break;
       case 
    "March":
           
    $month 'Marzo';
           break;
       case 
    "April":
           
    $month 'Aprile';
           break;
       case 
    "May":
           
    $month 'Maggio';
           break;
       case 
    "June":
           
    $month 'Giugno';
           break;
       case 
    "July":
           
    $month 'Luglio';
           break;
       case 
    "August":
           
    $month 'Agosto';
           break;
       case 
    "September":
           
    $month 'Settembre';
           break;
       case 
    "October":
           
    $month 'Ottobre';
           break;
       case 
    "November":
           
    $month 'Novembre';
           break;
       case 
    "December":
           
    $month 'Dicembre';
           break;
    }
    $sec $giorno['seconds'];
    $min $giorno['minutes'];
    $ora $giorno['hours'];
    echo (
    '<font face="Arial, Helvetica, sans-serif" size="2">' 'Data ed ora di accesso: ' $mday ' ' $month ' ' $year ' ' $ora ':' $min ':' $sec '</font>');
    ?>

  5. #5
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Andata, grazie ad entrambi!!


  6. #6
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da Nosfe
    Andata, grazie ad entrambi!!

    ci sono ankio tra quelli?

    PS:Il mio script lo puoi trasformare a piacimento e, se vuoi, personalizzare il nome da stampare...

  7. #7
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    senza stare li a fare tante complicazioni:

    Codice PHP:
    setlocale(LC_ALL'it_IT@euro''it_IT''it');
    $data=gmstrftime("%d %b %H:%M"time());
    echo 
    $data
    php è meno stupido di quanto pensi

    per la seconda invece della %d ci metti %j....


    Codice PHP:
    setlocale(LC_ALL'it_IT@euro''it_IT''it');
    $data=gmstrftime("%j %b %H:%M"time());
    echo 
    $data

  8. #8
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    Originariamente inviato da PaTeR
    ci sono ankio tra quelli?

    PS:Il mio script lo puoi trasformare a piacimento e, se vuoi, personalizzare il nome da stampare...
    Si ci sei anche tu tra quelli, e grazie per lo script


    php è meno stupido di quanto pensi

    per la seconda invece della %d ci metti %j....
    Codice PHP:
    setlocale(LC_ALL'it_IT@euro''it_IT''it');
    $data=gmstrftime("%j %b %H:%M"time());
    echo 
    $data
    Grazie kuarl, ma se lo faccio mi dà errore, ho usato questo coem hai detto tu:
    Codice PHP:
    setlocale(LC_ALL'it_IT@euro''it_IT''it');
    $data=gmstrftime("%j %b %H:%M"time());
    echo 
    $data
    Ecco l'errore che mi dà:

    Warning: Wrong parameter count for setlocale() in c:\documents and settings\proprietario\desktop\comun virtuale\kaan\forum\index.php on line 66
    160 Jun 21:38

  9. #9
    Utente di HTML.it L'avatar di Nosfe
    Registrato dal
    Jan 2004
    Messaggi
    454
    UP :quote:

  10. #10
    ciao.

    intanto un paio di precisazioni:

    1) gmstrftime ti da l'ora di Greenwich e non il fuso orario italiano.
    dovresti usare strftime per l'ora locale.

    2) %j ti da' il numero del giorno nell'anno.

    Dovresti usare %e per il numero del giorno senza lo zero davanti, lascera' comunque uno spazio. Invece %d per 01 - 31.

    Ma ... attenzione che se stai usando windows potrebbe anche non funzionare qualcosa. I parametri possono essere leggermente diversi... leggi le info presso microsoft su setlocale.

    per esempio, sul mio pc la stringa %e non da risultato, ma neppure errore, semplicemente il dato in bianco.


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

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.