Salve a tutti, scusate il titolo, ma mi sembra quasi di essere di fronte ad un rompicapo.
Un applauso e il mio rispetto a chi riesce a risolvere
Non fate caso a chiamate a funzioni che non conoscete, dall'output incollato sotto dovrebbe essere tutto chiaro.
Codice PHP:
$datetime = date('Y-m-d H:i:s', time());
$offset = get_option('gmt_offset')*3600;
$timestamp = strtotime($datetime)+$offset;
$oggi = date_i18n('Y-m-d', $timestamp);
echo 'OGGI: '.$oggi.'
';
echo 'INIZIO: '.$_POST['hlex_inizio'].'
';
echo 'FINE: '.$_POST['hlex_fine'].'
';
echo 'DIFF-INIZIO: '.days_between_iso($_POST['hlex_inizio'], $oggi).'
';
echo 'DIFF-FINE: '.days_between_iso($_POST['hlex_fine'], $oggi).'
';
echo 'PRIVATO: ';
if(days_between_iso($_POST['hlex_inizio'], oggi)>0 || days_between_iso($_POST['hlex_fine'], $oggi)<0)
{
die('SI');
}
else{
die('NO');
}
output:
OGGI: 2010-04-08
INIZIO: 2010-04-06
FINE: 2010-04-22
DIFF-INIZIO: -2
DIFF-FINE: 14
PRIVATO: SI <--- Come è possibile???
NB:
DIFF-INIZIO= -2 (negativo) -> days_between_iso($_POST['hlex_inizio'], oggi)>0 (FALSO)
DIFF-FINE= 14 (positivo) -> days_between_iso($_POST['hlex_fine'], $oggi)<0 (FALSO)
Stesso codice ma inserendo a mano le date:
Codice PHP:
$oggi = '2010-04-08';
$inizio = '2010-04-06';
$fine = '2010-04-22';
echo 'OGGI: '.$oggi.'
';
echo 'INIZIO: '.$inizio.'
';
echo 'FINE: '.$fine.'
';
echo 'DIFF-INIZIO: '.days_between_iso($inizio, $oggi).'
';
echo 'DIFF-FINE: '.days_between_iso($fine, $oggi).'
';
echo 'PRIVATO: ';
if(days_between_iso($inizio, $oggi)>0 || days_between_iso($fine, $oggi)<0) {
die('SI');
} else {
die('NO');
}
Output:
OGGI: 2010-04-08
INIZIO: 2010-04-06
FINE: 2010-04-22
DIFF-INIZIO: -2
DIFF-FINE: 14
PRIVATO: NO
Qui l'output è giusto, ovvero PRIVATO=NO, ma tutte le date sono IDENTICHE, cosa mi sfugge?