Datum a cas

11:16:03: nevies nahodou ako od seba odpocitat dva datumy?
11:16:14: v PHP alebo v MySQL ?
11:16:46: (ale korektne, cize treba brat ohlad na pocet dni v mesiacoch, priestupne roky atd..)
V PHP:

$od = mktime([int hour], [int minute], [int second], [int month], [int day], [int year]);
$do = mktime([int hour], [int minute], [int second], [int month], [int day], [int year]);
$rozdil = $do - $od;
echo $rozdil ." sekund";
// Prevod na vyssi jednotky (minuty,hodiny,dny) staci delit.

V MySQL: http://www.webzdarma.cz/forum/read.php?f=2&i=35414&t=35401
dik
Tomík (tom.czweb.org)
a mozna hloupy dotaz, pocita to spravne i roky pred 1960 nebo tak nejak je to datum pro unix stamp?
To bych zase potreboval ja do seznamky, rici, kolik je tomu cloveku let na den presne podle d-m-y narozeni. A aby se to nemuselo prepocitavat moc slozite, nejlepe uz primo z SQL
Presneji pred 1970. Zkousel jsem a mktime prostestuje. Neumi pocitat do zaporu :) Takze nepocita spravne. Pokud ocekavas jen uzivatele narozene po 1970, tak muzes pouzit mktime - date("Y",Time() - mktime(0,0,0,mesic,den,rok)) - 1970; Jinak budes muset pouzit podminkovou metodu.
V MySQL nevim jak pocita.
mysql zvlada (nebo by melo, ukladat je umi, tak snad i s nima pocitat) data od 1.1.1000 do 31.12.9999
zkus vyhledat mysql funkci DATE_SUB()
mno ja nastastie potrebujem od 2006 vyssie..
= tohe (strelka.unas.cz) =
Takhle, v podstate pro seznamku bych potreboval pocet roku a jeste treba zobrazit astrologicke znameni. Jestli vis nejaky jednoduchy script?
znameni - Mam kdesi jeden v SQL s podminkami, ale to mi prijde trosku zdlouhave.
roky - jsem resil PHP take dost slozitou konstrukci

= Tomík (tom.czweb.org) =
Jj, presne to, 1970. Ja jen jsem vedel, ze to byl takovy starsi rocnik a mel jsem par lidi registrovanych narozenych pred tim. Takze hnedka stiznost :)
ted presne to taky potrebuju, tak sem davam text primo z manualu mysql:

"
DATEDIFF(expr1,expr2)

DATEDIFF() returns expr1 – expr2 expressed as a value in days from one date to the other. expr1 and expr2 are date or date-and-time expressions. Only the date parts of the values are used in the calculation.

mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
-> 1
mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');
-> -31
"

pokud potrebujes neci vek, pak staci pouzit tento skript (muze se stat, ze kolem narozenin daneho cloveka udela chybu):
SELECT FLOOR(DATEDIFF(CURDATE(), `birthdate`)/365.24) AS `age` FROM ...

presnejsi skript by delal to, ze by vzal rozdil roku a odecetl od nej 1, pokud by v danem roce jeste ten clovek nemel narozeniny, ale to se mi ted nechce vymyslet (i kdyz to pres mysql jednoznacne jde).