Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: visualizzazione date

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    68

    visualizzazione date

    Ciao a tutti,ho un problema per quanto riguarda le date.
    Ho in un database un campo data di tipo varchar che voglio inserire in una pagina php.
    La data presente nel database è del tipo "18/10/2008".
    Dopo aver fatto una query dal database,vorrei visualizzare la data in questo modo:
    18 ottobre 2008.
    C'è una funzione che mi potete consigliare?
    Grazie.
    Saluti

  2. #2
    t'ho fatto un esempio
    Codice PHP:

    $dat
    =mktime(0,0,0,10,18,2008);

    function 
    time_to_ita($timestamp){
    //formato di output
    //Mercoledì, 25 Giugno, 2008 15:45
    $mesi=array('','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
    $giorno=array('Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato');
    $output=date('w|j|n|Y|H|i',$timestamp);
    $appoggio=explode("|",$output);
    return 
    $giorno[$appoggio[0]].", ".$appoggio[1]." ".$mesi[$appoggio[2]].", ".$appoggio[3]." ".$appoggio[4].":".$appoggio[5];
    }

    echo 
    time_to_ita($dat); 
    [UPDATE]
    logicamentente devi fare un explode della data del DB

    Codice PHP:
    $dat="18/10/2008";
    $appoggio=explode("/",$dat);

    $dat=mktime(0,0,0,$appoggio[1],$appoggio[0]$appoggio[2]); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    68
    Allora ho provato a fare in questo modo:
    Codice PHP:
    function time_to_ita($timestamp){ 
          
    $appoggio=explode("/",$timestamp); 
        
    //formato di output 
        //Mercoledì, 25 Giugno, 2008 15:45 
        
    $mesi=array('','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');        //$giorno=array('Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato'); 
        
    $output=date('w|j|n|Y',$timestamp); 
        
    $appoggio=explode("|",$output); 
        return 
    $appoggio[1]." ".$mesi[$appoggio[2]]." ".$appoggio[3]; 

    Non ho utilizzato ore e minuti poichè non mi servivano
    Poi memorizzo nella variabile data la query del database:
    Codice PHP:
    $data=$row['data']; 
    e poi faccio questo:
    Codice PHP:
    time_to_ita($data); 
    ma purtroppo non mi stampa la data presente nel database,ma mi stampa 1 gennaio 1970
    Ho sbagliato quacosa nel procedimento?

  4. #4

    Re: visualizzazione date

    Originariamente inviato da toni_855
    Ciao a tutti,ho un problema per quanto riguarda le date.
    Ho in un database un campo data di tipo varchar che voglio inserire in una pagina php.
    La data presente nel database è del tipo "18/10/2008".
    Dopo aver fatto una query dal database,vorrei visualizzare la data in questo modo:
    18 ottobre 2008.
    C'è una funzione che mi potete consigliare?
    Grazie.
    Saluti
    Secondo me dovresti salvare la date nel database in un campo di tipo "date" nel formato 2008-10-31 e poi estrarla direttamente con DATE_FORMAT($campo,'formato-scelto')

    vedi qui: http://forum.html.it/forum/showthrea...39#post3657939
    Ciao!

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    In effetti usare un capo varchar quando mysql ti da a disposizione ben 3 tipi per salvare le date lo trovo macchinoso.

    su mysql la colonna la puoi mettere di tipo :

    - date
    - datetime
    - timestamp

    Cosi' ti puoi fare le ricerche per data e sfruttare tutta la potenza di mysql per filtrare le date.

    Inoltre hai una paccone di funzioni per gestire le date in uscita

    mktime( ... )
    date ( ... )
    checkdate( ... )

    Io sinceramente ti consiglio di cambiare approccio al problema sfruttando queste potenzialita' degli strumenti che usi.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    68
    il problema è che il database non l'ho creato io ma mi è stato dato e non posso modificarlo,altrimenti avrei fatto nel modo in cui mi avete consigliato.

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    beh tecnicamente le colonne le puoi modificare con alter table .....

    Ma se per discorsi oscuri devono rimanere cosi' allora ti consiglio di farti qlke funzioncina di conversione e calcolo come quelle gia' consigliate sopra.
    Inoltre controlla le funzioni set_locale etc per la riformattazione della data.

  8. #8
    allora toni è semplice utilizza questo codice:

    Codice PHP:
    $data=$row['data'];
    $appoggio=explode("/",$data); //divide in array le stringhe e numeri separati dallo /

    $dat=mktime(0,0,0,$appoggio[1],$appoggio[0],$appoggio[2]); 

    function 
    time_to_ita($timestamp){
        
    //formato di output
        //Mercoledì, 25 Giugno, 2008 15:45
        
    $mesi=array('','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');    //$giorno=array('Domenica','Lunedi','Martedi','Mercoledi','Giovedi','Venerdi','Sabato');
        
    $output=date('w|j|n|Y',$timestamp);
        
    $appoggio=explode("|",$output);
        return 
    $appoggio[1]." ".$mesi[$appoggio[2]]." ".$appoggio[3];
    }

    echo 
    time_to_ita($dat); 
    adesso funziona per la fretta ho fatto degli errori

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    68
    oki ho risolto
    Ti ringrazio

  10. #10
    prego nn c'è di che!

    hai usato metodo mio?

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.