$data1= "22/10/2009";
print "
".$data1 ."-- " . date('d M Y',$data1) . " -- ". date('d M Y') ;
--> 22/10/2008-- 01 Jan 1970 -- 08 Feb 2009
Perchè si trasforma in 01 Jan 1970 ?
$data1= "22/10/2009";
print "
".$data1 ."-- " . date('d M Y',$data1) . " -- ". date('d M Y') ;
--> 22/10/2008-- 01 Jan 1970 -- 08 Feb 2009
Perchè si trasforma in 01 Jan 1970 ?
2000 post e sono più vecchio di 4 anni...
grazie a tutti....
Ti suggerisco di iniziare leggendo il manuale ufficiale:
http://www.php.net/date
Con particolare attenzione al tipo del secondo parametro.
Il metodo date accetta come secondo parametro un intero che rappresenti il tempo trascorso dal 1 gennaio 1970 in secondi (http://it2.php.net/date).
Tu invece passi una stringa $data1 che contiene una data nel formato italiano.
Ora, non so cosa vuoi ottenere, però ti mostro un pezzo di codice come il tuo che ipotizza la data $data1 in formato aaaa-mm-gg, come solitamente memorizzata in un db mysql
Fammi sapere cosa ottieni. Dovrebbe restituireCodice PHP:
$data1= "2009-10-22";
print "
" . $data1 . "-- " . date('d M Y', strtotime($data1)) . " -- ". date('d M Y') ;
codice:2009-10-22 -- 22 Oct 2009 -- 08 Feb 2009
Diego Purpo
Effetti Collaterali - Il lato oscuro dell'informatica
Infocube
Sviluppo Software
diego.purpo[at]effetticollaterali.it
Come da manuale:Originariamente inviato da eumene
Tu invece passi una stringa $data1 che contiene una data nel formato italiano.
strtotime() Parse about any English textual datetime description into a Unix timestamp
ok...
ottengo
2008-10-22-- 22 Oct 2008 -- 08 Feb 2009
ma se faccio un controllo condizionale...
if (date('d M Y', strtotime($data1)) < date('d M Y') )
{
echo " Data inizio inferiore ad oggi ";
exit();
};
Non ottengo la risposta sperata...
![]()
2000 post e sono più vecchio di 4 anni...
grazie a tutti....
devi confronatare le date nel formato Y M d
come fai tu, dato che php confronta la stringa
31 10 2008 è maggiore di 02 01 2009
se invece invertiamo il formato
2008 10 31 è minore si 2009 01 02
quindi il confronto dovrò farlo sempre con questo formato ?
Y M d intendo ?
2000 post e sono più vecchio di 4 anni...
grazie a tutti....
pardon Y m dOriginariamente inviato da agenti
quindi il confronto dovrò farlo sempre con questo formato ?
Y M d intendo ?
M ti ritorna il mese in formato testuale, mentre m in cifre
perdonatemi ancora...
$data1="2009-02-12"
$data2="2009-02-10"
// formato yyyy-mm-dd
if ( date('Y m d', strtotime($data2)) >= date('Y m d', strtotime($data1) ))
{
echo " Data fine superiore o uguale alla data di inizio ad oggi ";
exit();
};
non ottengo risposta...
![]()
2000 post e sono più vecchio di 4 anni...
grazie a tutti....
scusa, ma se $data1 e $date2 sono già nel formato corretto, perchè fai quel giro con date e strtotime?Originariamente inviato da agenti
perdonatemi ancora...
$data1="2009-02-12"
$data2="2009-02-10"
// formato yyyy-mm-dd
if ( date('Y m d', strtotime($data2)) >= date('Y m d', strtotime($data1) ))
{
echo " Data fine superiore o uguale alla data di inizio ad oggi ";
exit();
};
non ottengo risposta...
![]()
in ogni caso non ti da alcun risultato in quanto $data2 è minore di $data1Codice PHP:
if ( $data2 >= $data1 )