Ciao a tutti!
Sto utilizzando una tabella di un db nella quale voglio immagazzinare una data. Ovviamente il formato predefinito è YYYY:MM: DD. A me servirebbe invece in DD:MM:YYYY. Qualcuno sa come posso fare?
Grazie
Fabbio
Ciao a tutti!
Sto utilizzando una tabella di un db nella quale voglio immagazzinare una data. Ovviamente il formato predefinito è YYYY:MM: DD. A me servirebbe invece in DD:MM:YYYY. Qualcuno sa come posso fare?
Grazie
Fabbio
lo memorizzi così com'è che è comoo per fare confronti [stabilire quale è precedente tra due date...]... e quando lo estrai lo estrai in un altro foprmato.. adesso no ricordo che funzione mysql si usa per farlo.. vedi un po' nella pillola di piero.mac che sta nell'elenco pillole del thread in rilievo.. penso lo dica lì..
PS: chiaramente potresti anche manipolare la stringa da php ^_^
SELECT *, DATE_FORMAT(campo,'%d-%m%Y') as new_data from... etc.
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Grazie per le risposte!
Mi risulterebbe più comodo usare qualche funzione PHP (anche perchè la query non mi è del tutto chiara).
Io conosco date(), ma mi pare funzioni solo con il time stamp.
Che altre funzioni posso usare che accettino una data in YYYY:MM: DD e la restituiscano in DD:MM:YYYY?
Grazie ancora
Fabbio
Appunto, una soluzione carina sarebbe di usare un campo unsigned int e salvare all'iterno della tabella il timestamp.[supersaibal]Originariamente inviato da fabbio86
Grazie per le risposte!
Mi risulterebbe più comodo usare qualche funzione PHP (anche perchè la query non mi è del tutto chiara).
Io conosco date(), ma mi pare funzioni solo con il time stamp.
Che altre funzioni posso usare che accettino una data in YYYY:MM: DD e la restituiscano in DD:MM:YYYY?
Grazie ancora
Fabbio [/supersaibal]
Cioè, salvi il risultato della funzione time().
Quando lo vai a riprendere, per farlo visualizzare, ci sono le funzione che hai appena citato che ti permettono di visualizzare nel formato che vuoi le date.
Secondo me è la soluzione più facile. Io uso quella.
Il timestamp è utile perchè ti permette di trasformare qualsiasi data in un numero facilmente immagazzinabile. Poi quando vuoi usi quelle funzioni e le trasformi nel formato che vuoi ^^
la date usata nella query è una funzione di MYSQ non di php[supersaibal]Originariamente inviato da fabbio86
Grazie per le risposte!
Mi risulterebbe più comodo usare qualche funzione PHP (anche perchè la query non mi è del tutto chiara).
Io conosco date(), ma mi pare funzioni solo con il time stamp.
Che altre funzioni posso usare che accettino una data in YYYY:MM: DD e la restituiscano in DD:MM:YYYY?
Grazie ancora
Fabbio [/supersaibal]
tutto qui..
cmq se prendi la stringa intera e fai
list($anno,$mese,$giorno) = explode('-',$data);
è lo stesso...
solo che è più efficiente farlo fare direttamente a mysql
![]()
dipende pure da cosa vuoi fare.. perchè se ad esempio devi prendere tutte l date che abbiano il giorno XX.. con il timestamp non lo puoi fare.. stesso dicasi se vuoi prendere tutte le date con un certo mese o anno.. o una combinazione di questi..[supersaibal]Originariamente inviato da LordSaga640
Secondo me è la soluzione più facile. Io uso quella.
[/supersaibal]
![]()
in realtà puoi e molto facilmente.[supersaibal]Originariamente inviato da }gu|do[z]{®©
dipende pure da cosa vuoi fare.. perchè se ad esempio devi prendere tutte l date che abbiano il giorno XX.. con il timestamp non lo puoi fare.. stesso dicasi se vuoi prendere tutte le date con un certo mese o anno.. o una combinazione di questi..
[/supersaibal]
Ammettiamo che vuoi prendere tutte le righe del mese di marzo.
$timestamp1=TIMESTAMP(1 marzo 2005 ore 0:0:0);
$timestamp2=TIMESTAMP(31 marzo 2005 ore 23:59:59);
SELECT * FROM TABLE WHERE data BETWEEN $timestamp1 AND $timestamp2;
Se usi le date normali senza il timestamp basta che usi:
SELECT * FROM TABLE WHERE data BETWEEN 01/03/05 AND 31/03/05;
Nel prima caso tu hai anche i secondi, cioè l'ora, i minuti e l'ora.
e se vuoi farlo per tutti i mesi di marzo di qualsiasi anno? :P
è chiaro che bene o male con un po' di workaround riesci a irare intorno a tutto.. ma se esiste il tipo date oltre al timestampo... ci sarà un motivo no? :P
non facciamo anche qua perl vs php..
date ha una sua utilità... il timestamp ne ha altre
oltretutto con il timestamp non pui memorizzare date antecedenti al 1 gennaio 1970.. se devi gestire un database anagrafe non è proprio il cmapo adatto
![]()
E' vero, in quei casi è meglio il campo date.[supersaibal]Originariamente inviato da }gu|do[z]{®©
e se vuoi farlo per tutti i mesi di marzo di qualsiasi anno? :P
è chiaro che bene o male con un po' di workaround riesci a irare intorno a tutto.. ma se esiste il tipo date oltre al timestampo... ci sarà un motivo no? :P
non facciamo anche qua perl vs php..
date ha una sua utilità... il timestamp ne ha altre
oltretutto con il timestamp non pui memorizzare date antecedenti al 1 gennaio 1970.. se devi gestire un database anagrafe non è proprio il cmapo adatto
[/supersaibal]
![]()