[ ivanbgdbgd @ 23.01.2015. 20:33 ] @
Pozdrav ljudi
evo u cemu je problem
imam trenutni datum generise php
imam zadati datum
dobijam razliku u danima izmedju trenutnog i zadatog datuma
razliku treba da uporedim sa nekom vrednocu i da mi funkcija kaze thrue-false
medjutim izbacuje mi gresku u liniji 9

<?php
function proveradatuma(){
$trenutnidatum=date('y-m-d');
$trenutnidatum = new DateTime($trenutnidatum);
$datumarazmana = new DateTime('2015-01-28');
$interval = $trenutnidatum->diff($datumarazmana);
$poslednjdatuplate=2;
echo $interval->format('%a total days')."<br/>";
var_dump($poslednjdatuplate<$interval);
}
proveradatuma();
?>
[ plus_minus @ 23.01.2015. 21:28 ] @
Da li original funkcija izgleda ovako, sa var_dump na kraju ili si ti to prepravio zbog foruma?
Obriši ovu funkciju koju si započeo, počni ponovo.

Bez obzira na to, nije thrue već true ...

I koja ti je to linija 9 ... ?
Onda kada ti php kaže koja je linija, tada ti kaže i koji je fajl u pitanju, gde se nalazi i tačno vreme kad se desio error, a uz to - i zašto se desio error.

Elem, čitajući tvoj post, pa i sami naslov, vidim da "voliš" nesvesno da gutaš slova.
Ajd' što mi ljudi to pregazimo, to nekako, ali, php... ne da neće da ti toleriše - nego neće.
Jedan jedini karakter, fali ili nije kako treba, očekuj belaj, notice, error.. failure. To imaj u vidu non-stop.

I ako već upoređuješ vreme, zašto to ne radiš sa integer vrednostima ili numeričkim stringovima?
Nakon provere, formiraj datum za ispis kako ti volja..

ps: koristi ES bbCode tagove kada ispisuješ kod koji te muči.

Code (php):


function dummyFunction()
{

 return(
  var_export(get_defined_constants(true)['date'], true)
 );

}

echo dummyFunction();

 
[ ivanbgdbgd @ 24.01.2015. 09:01 ] @
Gresku izbacuje u liniji 9 var_dump kada je izbacena linija 9 funkcija radi medjutim poterebno mi je da vraca true false

Greska koju izbacuje:

( ! ) Notice: Object of class DateInterval could not be converted to int in C:\wamp\www\1\date.php on line 9
Call Stack
# Time Memory Function Location
1 0.0000 142824 {main}( ) ..\date.php:0
2 0.0000 143104 proveradatuma( ) ..\date.php:11
boolean false

Code:

<?php
function proveradatuma(){
$trenutnidatum=date('y-m-d');
$trenutnidatum = new DateTime($trenutnidatum);
$datumarazmana = new DateTime('2015-01-28');
$interval = $trenutnidatum->diff($datumarazmana);
$poslednjdatuplate=2;
echo $interval->format('%a total days')."<br/>";
var_dump($poslednjdatuplate<$interval);
}
proveradatuma();
?>



dali je moguce bilo kako izvesti da vremenski interval poredi sa vrednostu int
[ Nemanja Avramović @ 24.01.2015. 10:29 ] @
Prebaci u unix timestamp (int), odradi šta treba (operacije i provere) i onda, kad hoćeš da prikažeš, konvertuj timestamp nazad u datum.
[ deZio @ 24.01.2015. 14:36 ] @
Jednostavno promeni:

Code (php):
var_dump($poslednjdatuplate<$interval);


u:

Code (php):
var_dump($poslednjdatuplate<$interval->days);
[ ivanbgdbgd @ 24.01.2015. 15:43 ] @
HVALA LJUDI sa dodatim days u var_dump radi