Porovnávání údajů typu TimeStamp

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pavelL
Člen | 1
+
0
-

Ahoj,
mám takový (možná triviální) problém, ale nemohu na to pořád přijít. Potřebuji zjistit, zda aktuální datum je v rozsahu mezi dvěma daty uloženými v položkách „pocatek“ a „konec“ databázové tabulky „param“. Položky databáze jsou typu TimeStamp. v Presenteru jsem si na to udělal funkci, která vypadá nějak takto:

protected function regAllowed()
	{
		$row = $this->database->table('param')->get(1);
		$startTime = $row['pocatek'];
		$endTime = $row['konec'];
		if($startTime <= time() && time() <= $endTime)
		{
			$result = true;
		}
		else
		{
			$result = false;
		};
		return $result;
	}

Při spuštění mi to hlásí chybu „Object of class Nette\Utils\DateTime could not be converted to int " na řádku s "if“. V čem je problém (nabe navrhujete řešit to nějak úplně jinak)

Díky za pomoc.

Pavel

Oli
Člen | 1215
+
0
-

Nette ti to převede na objekt Nette\DateTime. Pokud chces nejakej konkrétní format, tak Musíš zavolat metodu format(''); tuším, ze pro Timestamp je to s parametrem u.

<?php
$row->pocatek->format('u');
?>
Majkl578
Moderator | 1364
+
+3
-

Jelikož je to DateTime, použij porovnání DateTime:

if ($startTime <= new \DateTime()) {
	//...
}