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)>|| 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)>|| 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?