Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Nel Formula 1 Technology and Media Centre di Biggin Hill, la velocità delle monoposto si trasforma in dati, immagini e decisioni in tempo reale grazie all’infrastruttura Lenovo che gestisce centinaia di terabyte ogni weekend di gara e collega 820 milioni di spettatori nel mondo
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
Il nuovo gimbal mobile DJI evolve il concetto di tracciamento automatico con tre modalità diverse, un modulo multifunzionale con illuminazione integrata e controlli gestuali avanzati. Nel gimbal è anche presente un'asta telescopica da 215 mm con treppiede integrato, per un prodotto completo per content creator di ogni livello
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-11-2009, 08:33   #1
cruyffissimo
Member
 
L'Avatar di cruyffissimo
 
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"]
cruyffissimo è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 08:39   #2
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da cruyffissimo Guarda i messaggi
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
Cosa intendi per data europea? Del tipo 6 Nov 2009 ?
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());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 08:45   #3
cruyffissimo
Member
 
L'Avatar di cruyffissimo
 
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"]
cruyffissimo è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 08:59   #4
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da cruyffissimo Guarda i messaggi
si, intendo gg/mm/aaaa..
esatto, ma non so farlo!
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);
Ti tornerà qualcosa del tipo GG MM AAAA; maggiori dettagli qui: http://www.php.net/manual/en/function.date.php.

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());(
Ovvero nel db ci finisce direttamente la stringa formattata.
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());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 09:38   #5
cruyffissimo
Member
 
L'Avatar di cruyffissimo
 
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"]
cruyffissimo è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 09:42   #6
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da cruyffissimo Guarda i messaggi
ehi grazie!!!!

e sapessi...XD

dopo ti posto come ho invertito le posizioni di gg-mm-aaaa...

grazie mille ancora


Cruyffissimo
Va bene, valuta tu quale strada prendere
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 09:51   #7
cruyffissimo
Member
 
L'Avatar di cruyffissimo
 
Iscritto dal: Oct 2009
Messaggi: 67
Codice PHP:
list($giorno,$mese,$anno)=explode("/"$data_formato_europeo);
$data_formato_inglese=$anno."/".$mese."/".$giorno
con $data_formato_europeo indico la data che inserisco dal form, e con data_formato_inglese indico la data nel formato come vuol il DB...
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"]
cruyffissimo è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 10:05   #8
kurts
Senior Member
 
L'Avatar di kurts
 
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
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 10:18   #9
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da kurts Guarda i messaggi
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
Si se la data proviene da un FORM è buona cosa pensare ad un cast del formato data, ovvero obbligare l'utente ad inserire la data in un certo modo oppure forzare la data tramite select, con lo str_replace, ecc... (ci sono centinaia di soluzioni a mio parere).
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 10:27   #10
kurts
Senior Member
 
L'Avatar di kurts
 
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
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 10:56   #11
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da kurts Guarda i messaggi
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
Anche io
Se no uso il mitico JQuery UI DatePicker... stupendo!
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 20:12   #12
kurts
Senior Member
 
L'Avatar di kurts
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 307
Quote:
Originariamente inviato da michele.broggi Guarda i messaggi
Se no uso il mitico JQuery UI DatePicker... stupendo!
essì, ormai è ora che anche io mi studi un po' di JS, dovrò cercare di ignorare il mio atavico ribrezzo nei confronti dei linguaggi di scripting lato client, vedrò cosa posso fare
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 20:14   #13
cruyffissimo
Member
 
L'Avatar di cruyffissimo
 
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:
list($gg,$mm,$aa)=explode("-"$data);
if(!
checkdate($mm,$gg,$aa))
{
    echo 
"data non valida!<br>";
    
$flag=0;
}
else
{
    
$data=$aa."/".$mm."/".$gg;

all'inizio il campo data è quello che viene preso in input tramite un $_POST e poi per risparmiare memoria, lo si formatta,se valida la data in input, secondo il formato del database...
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:
$data=str_replace("/","-","$data"); 
cioè poi ognuno lo fa come gli pare...
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"]
cruyffissimo è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 20:17   #14
kurts
Senior Member
 
L'Avatar di kurts
 
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...
kurts è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2009, 20:20   #15
vhost87
Senior Member
 
L'Avatar di vhost87
 
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
Quote:
Originariamente inviato da kurts Guarda i messaggi
essì, ormai è ora che anche io mi studi un po' di JS, dovrò cercare di ignorare il mio atavico ribrezzo nei confronti dei linguaggi di scripting lato client, vedrò cosa posso fare
Fino a 3 anni fa pure io lo odiavo... ma oggi non posso farne a meno (anche se non ci vado tutt'ora d'accordo).

Per MySQL... non ne sarei così sicuro
__________________
IT Developer at Hardware Upgrade S.r.l.
self.love(this.me());
vhost87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2009, 12:51   #16
cruyffissimo
Member
 
L'Avatar di cruyffissimo
 
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"]
cruyffissimo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce Recensione Pura 80 Pro: HUAWEI torna a stupire c...
Opera Neon: il browser AI agentico di nuova generazione Opera Neon: il browser AI agentico di nuova gene...
Crolla a 89€ una scopa elettrica low cos...
Anche Huawei segue il trend del mercato:...
Un portatile un tuttofare definitivo a 5...
PosteMobile passerà alla rete TIM...
I 6 migliori smartphone da acquistare su...
iPhone Air 2 è già in cant...
OnePlus 15, in Europa sarà uguale...
Portal X, un nuovo modo per controllare ...
Con Satispay ora si può pagare in...
Sora sbarca anche su Android: una nuova ...
Vibes sbarca in Europa: Meta sfida TikTo...
Tesla, approvato il pacchetto da 1.000 m...
Rockstar posticipa GTA 6 a novembre 2026...
Snap e Perplexity unite: dal prossimo an...
La Cina dice addio a NVIDIA? Il governo ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v