|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
[PHP]problema con le date
ciao a tutti!!
ho un problema, vorrei inserire tramite un form una data formato europeo, ma si sa che mysql accetta o un datetime o una data in formato inglese. il mio problema è tradurre la data europea in quella inglese, e se possibile, al momento della stampa, ritornare a quella europea... grazie mille!!! Cruyffissimo ![]()
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Quote:
MySQL accetta DATE, DATETIME e TIMESTAMP; puoi poi convertire questi tre formati in una data 'Human Like' ![]()
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
si, intendo gg/mm/aaaa..
esatto, ma non so farlo!
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Poi mi dici dove hai preso il pupazzo, che lo voglio!
Allora hai varie strade da seguire: a) memorizzi la data in TIMESTAMP (Int 32) e con la funzione date() di php ti ritorni la stringa della data formattata come vuoi, esempio: Codice:
date("%d %M %Y, $timestamp_da_db); Occhio che il timestamp misura i secondi passati dalla mezzanotte del 1 gennaio 1970 sui sistemi *NIX. b) memorizzi la data in formato stringa, attraverso la funzione date() e sei a posto, esempio: Codice:
date("%d %M %Y, time());( Occhio a non confondere con il caso prima che nel db hai un intero. c) utilizzi la funzione gmdate() per ottenere, come sopra, una data da timestamp in formato GMT/UTC (molto comoda, non so se fa a caso tuo); link: http://www.php.net/manual/en/function.gmdate.php d) utilizzi la funzione strtotime() che converte, se non ricordo male, la datetime di mysql in unixtimestamp... che poi converti in data con date() o gmdate() Penso ti possano bastare ![]()
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
ehi grazie!!!!
e sapessi...XD ![]() dopo ti posto come ho invertito le posizioni di gg-mm-aaaa... grazie mille ancora Cruyffissimo
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Va bene, valuta tu quale strada prendere
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
Codice PHP:
cmq il pupazzetto non ce l'ho, è una foto...ma lo sto cercando anche io!!!! ma non lo trovo!! ![]() Cruyffissimo
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
|
posso darti un consiglio?
se il form è accessibile da chiunque io non darei per scontato che il separatore usato sia per forza lo slash, molta gente usa il trattino e raramente mi è capitato di vedere il puntino. P.S.: una precisazione, il formato che usi tu non è quello inglese ma quello ISO, il formato inglese è mm/dd/yyyy ciao |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Quote:
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
|
io per evitare tutti questi controlli solitamente creo 3 campi distinti: giorno, mese, anno.
mi rendo conto che è una cosa un po' grezza ma il suo lavoro lo fa. un'altra cosa che mi ero dimenticato prima, controlla sempre le date tipo "31 febbraio" o cose simili, a questo scopo esistono gia delle funzioni belle pronte che ti risparmiano tutto il lavoro |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Quote:
![]() ![]() ![]() Se no uso il mitico JQuery UI DatePicker... stupendo! ![]()
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
|
|
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
si funziona anche con tre campi, ma a livello di codice si complica largamente la gestione del controllo...
insomma: Codice PHP:
la discussione del separatore non esiste, o meglio, basta imporre che siano valide date solo con - o /... io ho messo - perchè nel database voleva il - ma nulla mi vietava di mettere un str_replace Codice PHP:
io l'ho fatto così perchè è meno incasinato...XD grazie a tutti... ![]() Cruyffissimo
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
|
sono abbastanza sicuro che mysql sia abbastanza astuto da rimpiazzare automaticamente i separatori con il simbolo -
ripeto, abbastanza, non del tutto... |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Quote:
Per MySQL... non ne sarei così sicuro ![]()
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
|
![]() |
![]() |
![]() |
#16 |
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
no infatti devi inserirlo con i / ma puoi sempre cambiarli con str_replace, se vuoi farlo più figo fai la ricerca per carattere, e a seconda se ci sono - o i / fai il tuo str_replace...
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:05.