Autor Zpráva
bballer
Profil
Hledám řešení na výpis data/času u uživatele z databáze.

Mám projekt, kde jsou články - ukládám u každého článku datum a čas vložení ( čas serveru ).

Čas serveru: date("Y-m-d H:i:s");
Do databáze to ukládám jako DATETIME.
Pak výpis: date('d. m. Y, H:i', strtotime($query['created_at']));

A hledám co nejjednodušší řešení, funkci, která porovná čas serveru a čas uživatele a případným rozdílem ošetří výpis.

Letní a zimní čas bych neřešil. Tj. u měsíc starého článku je jedno jestli se vložil ve 12h nebo ve 14h apod, nechci se zamotávat do složitého přepočítávání datumů a času.
abc
Profil
Pokud jsem dobře pochopil, tak jde o zjištění stáří článku?
Tzn. rozdíl mezi 2 časy, nejjednodušeji přes DateTime::diff
bballer
Profil
jj, to jsem přesně hledal

a ještě se chci zeptat, jak zjistím čas uživatele (počítače)?
Alphard
Profil
bballer:
a ještě se chci zeptat, jak zjistím čas uživatele (počítače)?
Blbě :-( umí to javascript, ale to je dost nešikovné řešení.

Na co to vlastně potřebujete? Z předchozího bych hádal, že jde o něco jako „článek byl vydán před 2 hodinami“. Na to ale přece nepotřebujete čas uživatele, relativní údaj snadno spočítáte na serveru.
Každopádně jestli trváte na svém řešení a nejde vám o sekundy, bude snadnější jít na to obráceně. Při generování stránky do js kódu vypsat aktuální datum na serveru a časové výpočty provést u klienta v js.

Jestli je třeba zajistit funkčnost bez js, bude to dost oříšek.

Dodávám poznámku, že časová pásma jde odhadnout z IP, ale mám takový pocit, že váš nadpis vlákna je zcela mimo.
bballer
Profil
Šlo mi o to, že první den tam bude vypsáno, třeba článek vydán v 09:10 -> tak aby to 09:10 mělo vypovídající hodnotu. A myslel jsem, že to půjde jednodušeji, ale asi ne :(

Takže si asi pro začátek vystačím s výpočtem, před kolika hodinami to bylo vydáno a u článků starších 24 hodin vypíšu jen datum - snad uživatelům kteří jsou s časem pozadu nebude vadit, že ten datum u nich třeba ještě nenastal :D

A časem se podívat na nějaký js.

Jen mě zajímalo jak to s časem řeší různý chaty, maily apod, respektive až se na mail na seznamu podívám v jiném časovém pásmu, co tam bude vypsaný.
blaaablaaa
Profil
bballer:
Napada me jen v js zjistit casove pasmo a poslat si ho na server. Pri prvnim nacteni stranky ale budou casy neprepocitane (leda bys je v js prepocital).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0