Záporný čas v objektu DateTime

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

Než mi příspěvek nějaký chytrák podruhé smaže, tak rovnou píšu, že pokud čas vyjde kladný, tak aplikace funguje bezchybně. Chyba se vyskytne jen pokud rozdíl časů vyjde záporný. Pokud byl příspěvek smazán z jiného důvodu prosím alespoň o jeho napsání. Děkuji.

Potřebuji z databáze získat relativní čas. Z databáze si vytáhnu ($this->context->createTime()->fetch();) počítanou hodnotu vzniklou rozdílem časů (TIMEDIFF v rámci VIEW), ale NETTE mi hlásí:

DateTime::__construct(): Failed to parse time string (-00:26:03) at position 6 (:): Unexpected character

Verze:
define(‚NETTE_VERSION_ID‘, 20001); // v2.0.1
define(‚NETTE_PACKAGE‘, ‚PHP 5.2 prefixed‘);

Dá se to nějak ošálit a nebo jaká je v tomto případě best practices?

Melmen
Člen | 132
+
0
-

Tvůj post byl smazán, protože to nemá s Nette nic společnýho :-)

visitor
Člen | 22
+
0
-

Aha tak zkusím jinak…

Jak donutit NETTE, aby mi záporný čas se nesnažil cpát do Datového typu (DateTime respektive NDateTime53), když to na tom spadne.

Aurielle
Člen | 1281
+
0
-

Záporný rozdíl časů indikuje chybu, kterou je třeba řešit a ne se ji snažit obejít. Když odečítáš novější timestamp od staršího, tak je jasné, že rozdíl bude záporný. Pokud to opravdu tak moc chceš obejít, odchyť exception, kterou ten konstruktor vyhazuje.

visitor
Člen | 22
+
0
-

Proč by to měla být hned chyba? Mám nějaký čas T a prostě když jsem před ním je rozdíl kladný a pokud jsem s CURTIME() po něm, tak je rozdíl záporný. Nic víc nic míň. No nic upravím si ten VIEW abych tam dostával něco jako TRUE/FALSE.

visitor
Člen | 22
+
0
-

David se vyjádřil zde:
https://forum.nette.org/…ktu-datetime#…

což mi ale moc nepomůže když to je vnitřní implementace NETTE ;-)