Autor Zpráva
Suta
Profil
Do formuláře mi uživatel vyplní den, měsíc a rok narození.
Z těchto údajů vytvořím jeden údaj - datum_narozeni ve formě unixového času:

$datum_narozeni=MkTime(0,0,0,$mesic,$den,$rok);


Následně údaj z databáze převádím opět na datum v požadovaném formátu:
$datum_narozeni = date(" d.",$vysledek["datum_narozeni"]) .date("m",$vysledek["datum_narozeni"]) . date(" Y",$vysledek["datum_narozeni"]);


Funguje pouze s datem narození od roku 1969. Pokud je datum narození před 31.prosincem 1969 (od této doby se počítá unixový čas), pak to nefachá.

Prosím poraďte, jiný způsob neznám.
Kajman_
Profil *
Unixový čas je určen pro určení stáří souborů a ne pro stáří lidí.
Kajman_
Profil *
Tedy v db používat typ date a ne timestamp.
Suta
Profil
Nějak tomu nerozumím. Myslel jsem, že používám typ date.
Jak to myslíš konkrétně, můžeš to napsat ?
Tomik
Profil
Typ DATE(TIME) má tuto syntaxi:

YYYY-MM-DD (HH:MM:SS)

Takže v době psaní toho příspěvku:

2006-01-03 11:38:05
Suta
Profil
Jo, ale jak uložím datum do databáze tak aby se uložilo i když je před rokem 1970 ?? Jestli to dobře chápu tak date se staršími daty pracovat neumí.
Hugo
Profil
Suta

Typ date uřčitě vezme i datum před rokem 1970.
Suta
Profil
Jo promiň, date umí od roku 1901. Udělám to přes něj.

A existuje podobná funkce, která není omezená žádným konkrétním rokem ?
Kajman_
Profil *
A date. The supported range is '1000-01-01' to '9999-12-31'. MySQL displays DATE values in 'YYYY-MM-DD' format, but allows you to assign values to DATE columns using either strings or numbers.
Kajman_
Profil *
$datum_narozeni=$rok.'-'.$mesic.'-'.$den;
Suta
Profil
Dík, to jsem potřeboval. Od roku 1000 mi to stačí :)
Toto téma je uzamčeno. Odpověď nelze zaslat.