Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    81

    Stranissimo problema con le date

    Ho selezionato una data da un database (perfettamente funzionante)
    e vorrei ottenere la dicitura italiana in questo modo...

    date("d/m/Y",$row[data2])

    dovrebbe essere corretto ma caso strano è che mi restituisce sempre l'anno 1970 in locale e sul server remoto

    qualcuno sa darmi una spiegazione?

    grazie!

  2. #2
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    Il secondo parametro della funzione date() deve essere di tipo timestamp (ovvero i secondi trascorsi dal 1° Gennaio 1970).

    Se prelevi i dati da un Db MySql la soluzione più comoda è utilizzare la funzione SQL DATE_FORMAT.


    Mi sembra sia un qualcosa del tipo SELECT DATE_FORMAT(%d/%m/%Y, data) FROM ...


    Ciao
    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  3. #3
    Originariamente inviato da Emyl
    Il secondo parametro della funzione date() deve essere di tipo timestamp (ovvero i secondi trascorsi dal 1° Gennaio 1970).

    Se prelevi i dati da un Db MySql la soluzione più comoda è utilizzare la funzione SQL DATE_FORMAT.


    Mi sembra sia un qualcosa del tipo SELECT DATE_FORMAT(%d/%m/%Y, data) FROM ...


    Ciao
    Quasi ...

    SELECT DATE_FORMAT(data, '%d/%m/%Y') as data FROM ...


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

  4. #4
    se lo tiri fuori da una query ti consiglio di usare UNIX_TIMESTAMP(nomecampo) AS ALIASCAMPO così ti salva la data in formato timestamp e poi te la formatti come ti pare con date().
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  5. #5
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    81

    Il problema è che...

    Il problema è che effettuo una select * from... quindi non posso formattare la data in sql...esiste una funzione in php che trasforma una data in millisecondi dal 1970 (timestamp)?

  7. #7
    Utente di HTML.it L'avatar di Emyl
    Registrato dal
    Jul 2004
    Messaggi
    250
    mktime()
    "Ci sono 10 tipi di persone, quelli che capiscono i numeri binari...
    e quelli che non li capiscono."

  8. #8

    Re: Il problema è che...

    Originariamente inviato da dave
    Il problema è che effettuo una select * from... quindi non posso formattare la data in sql...esiste una funzione in php che trasforma una data in millisecondi dal 1970 (timestamp)?
    SELECT *, DATE_FORMAT(data, '%d/%m/%Y') as data1 FROM......

    Qual'e' il problema?!? Inoltre con mysql sei piu' performante di php.


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

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    81

    non posso

    scusate ma neanche così va bene...io ho una data in formato sql...mktime riceve giorno,mese,anno...se li avessi il problema non ci sarebbe!!!

  10. #10
    SELECT *, UNIX_TIMESTAMP(campodata) as data1 FROM......

    provato così? Ti restituisce nel campo data1 (che lo prendi come se fosse un indice dell'array associativo) la data in formato timestamp. Poi buttandola dentro la funzione date con le opportune flags te la formatti come ti pare!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

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.