| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  06-11-2009, 08:33 | #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"] | 
|   |   | 
|  06-11-2009, 08:39 | #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()); | |
|   |   | 
|  06-11-2009, 08:45 | #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"] | 
|   |   | 
|  06-11-2009, 08:59 | #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()); | 
|   |   | 
|  06-11-2009, 09:38 | #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"] | 
|   |   | 
|  06-11-2009, 09:42 | #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()); | 
|   |   | 
|  06-11-2009, 09:51 | #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"] | 
|   |   | 
|  06-11-2009, 10:05 | #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 | 
|   |   | 
|  06-11-2009, 10:18 | #9 | |
| Senior Member Iscritto dal: Apr 2008 Città: Varese 
					Messaggi: 406
				 | Quote: 
 
				__________________ IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); | |
|   |   | 
|  06-11-2009, 10:27 | #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 | 
|   |   | 
|  06-11-2009, 10:56 | #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()); | |
|   |   | 
|  06-11-2009, 20:12 | #12 | 
| Senior Member Iscritto dal: Oct 2009 Città: Varese 
					Messaggi: 307
				 | |
|   |   | 
|  06-11-2009, 20:14 | #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"] | 
|   |   | 
|  06-11-2009, 20:17 | #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... | 
|   |   | 
|  06-11-2009, 20:20 | #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()); | |
|   |   | 
|  07-11-2009, 12:51 | #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: 09:22.









 
		 
		 
		 
		



 
		





 
  
 



 
                        
                        










