Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-11-2009, 07: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, 07: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, 07: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, 07: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, 08: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, 08: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, 08: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, 09: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, 09: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, 09: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, 09: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, 19: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, 19: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, 19: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, 19: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, 11: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


Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Leica M-A no.5000000 'Papa Francesco': u...
Il nuovo Sony Xperia 10 VII si mostra on...
Samsung raddoppia: il Galaxy Z Fold 8 sa...
Gli smartphone premium sono sempre pi&ug...
Fusione nucleare, l'Italia entra in gioc...
AMD protagonista al CES 2026: il keynote...
Invia il tuo nome intorno alla Luna con ...
Apple presenta i nuovi iPhone 17 Pro e P...
Apple presenta iPhone 17: fotocamera Cen...
Apple annuncia l''impossibilmente sottil...
Apple Watch Series 11 ufficiale: il più ...
Apple svela Watch Ultra 3 e Watch SE 3: ...
AirPods Pro 3 ufficiali: cancellazione d...
Kia EV3 è una Xbox 'che fa brum':...
Nel 2026 cambiano le regole della F1. Me...
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: 07:05.


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