kevindavidmitnick
03-03-2007, 00:38
OPS scusate il titolo era [php]strtotime data maggiore e minore
Praticamente avevo scritto una cosa del genere:
$timer=fopen("zero.dat","r");
$timer2=fread($timer,filesize("zero.dat"));
$datadioggi = date ("M d, Y g:i:s a");
$datamod = date('M d, Y g:i:s a', strtotime("$timer2 + 1 minute"));
if ($datadioggi < $datamod) {
echo "Devi attendere altri 60 secondi";
exit;
}
dove dentro zero.dat c'è la data:
Gen 12, 2007 1:16:17 pm
dovrebbe controllare se la data scritta in zero.dat sia minore di almeno 60 secondi da quella attuale.
Tutto va bene se vengono usate due date dello stesso mese, ma se ne utilizzo una di gennaio e l'attuale di febbario ho seri problemi.
Come posso fare?
Chiedendo su un altro forum ho ricevuto questo:
$timer2 = "2007-02-17 11:18:21";
$datamod = strtotime($timer2);
$sum = mktime ( date("h"), date("i"), date("s") + 60, date("m"), date("d"), date("Y") );
$op = $datamod - $sum;
echo "$datamod < $sum e quindi differenza di $op";
if ($datamod < $sum) {
echo "Devi attendere altri 60 secondi";
exit;
}
Ma è sbagliato perchè alle ore 23:18 entrambi coincidono più o meno al variare dei secondi.
non è necessario comunque riparare questo se avete altre alternative postate pure ;)
Praticamente avevo scritto una cosa del genere:
$timer=fopen("zero.dat","r");
$timer2=fread($timer,filesize("zero.dat"));
$datadioggi = date ("M d, Y g:i:s a");
$datamod = date('M d, Y g:i:s a', strtotime("$timer2 + 1 minute"));
if ($datadioggi < $datamod) {
echo "Devi attendere altri 60 secondi";
exit;
}
dove dentro zero.dat c'è la data:
Gen 12, 2007 1:16:17 pm
dovrebbe controllare se la data scritta in zero.dat sia minore di almeno 60 secondi da quella attuale.
Tutto va bene se vengono usate due date dello stesso mese, ma se ne utilizzo una di gennaio e l'attuale di febbario ho seri problemi.
Come posso fare?
Chiedendo su un altro forum ho ricevuto questo:
$timer2 = "2007-02-17 11:18:21";
$datamod = strtotime($timer2);
$sum = mktime ( date("h"), date("i"), date("s") + 60, date("m"), date("d"), date("Y") );
$op = $datamod - $sum;
echo "$datamod < $sum e quindi differenza di $op";
if ($datamod < $sum) {
echo "Devi attendere altri 60 secondi";
exit;
}
Ma è sbagliato perchè alle ore 23:18 entrambi coincidono più o meno al variare dei secondi.
non è necessario comunque riparare questo se avete altre alternative postate pure ;)