Autor | Zpráva | ||
---|---|---|---|
Lukas-v Profil * |
#1 · Zasláno: 11. 2. 2008, 09:42:44
Ahoj mam takový problém, ukládam datum vytvoření záznamu do databáze.
$page_publish_year = date("Y"); $page_publish_month = date("m"); $page_publish_day = date("d"); $page_publish_hour = date("H"); $page_publish_minute = date("i"); $page_publish_second = date("s"); $page_publish_1970 = date("U"); ale usekne mi to nuly před cislem, nejdriv sem myslel ze je to tim ze to ukladam do mysql databaze jako int ale pak jsem dal page_publish_year varchar(4), page_publish_month varchar(2), page_publish_day varchar(2), page_publish_hour varchar(2), page_publish_minute varchar(2), page_publish_second varchar(2), page_publish_1970 int, a dela to porad to same poradte cim to muze byt chci mit ty nuly pred cisle aby to tisklo cas 09:42:00 a ne 9:42:0 jako mi to dela ted |
||
ninja Profil |
#2 · Zasláno: 11. 2. 2008, 09:49:50
Lukas-v: pokud chces ulozit i s nulou na zacatku (napr. '007'), je od toho v MySQl priznak zerofill.
Proc proboha ale ukladas datum do samostatnych sloupcu a ne do jednoho DATETIME?! |
||
Lukas-v Profil * |
#3 · Zasláno: 11. 2. 2008, 09:55:29
Proc proboha ale ukladas datum do samostatnych sloupcu a ne do jednoho DATETIME?!
Mno o tom sem se chtel taky poradit. Delam si svuj vlastni redakcni system a ted si zacinam delat generator RSS a Atom, mno a pro datum ve formatu pro RSS je primo funkce date("r"); mno ale Atom ma zase datum ve formatu podle W3C a kdyz chci tisknout datum na strance s novinkami tak mi staci vytisknout den mesic rok hodina minuta sekunda, jde o to ze vsechny 3 formaty pro tisk toho data jsou v jinem formatu a tak nevim co vsechno mam ukladat do databaze. Tak za radu budu vdecny |
||
ninja Profil |
#4 · Zasláno: 11. 2. 2008, 10:02:37
Z MySQL DATETIME ziskas unix timestamp jednoduse: UNIX_TIMESTAMP(sloupec). Pak si s tim v PHP udelas co chces.
BTW: Jestli naznas takto zakladi veci, do RS bych se zatim nepoustel. Jakmile jej dopises a neco se naucis, radeji ho smazes :). Zkus pro zacatek neco mensiho. |
||
Lukas-v Profil * |
#5 · Zasláno: 11. 2. 2008, 10:50:12
Z MySQL DATETIME ziskas unix timestamp jednoduse: UNIX_TIMESTAMP(sloupec). Pak si s tim v PHP udelas co chces.
BTW: Jestli naznas takto zakladi veci, do RS bych se zatim nepoustel. Jakmile jej dopises a neco se naucis, radeji ho smazes :). Zkus pro zacatek neco mensiho. TIMESTAMP v MySQL databazi nechci pouzivat protoze mam kolokny datum vytvoreni a datum editace, a datum editace sem tam da az se to poprve edituje a to by v MySQL udelat neslo to snad chapes. Mno ale tak pokud bych to chtel udelat poctem sekund od roku 1970 tak ktere funkce bys pak nejlepe pouzil na rozkodovani, a stejne si musim ulozit i to casove pasmo, protoze to v tom poctu sekund vlastne neni. |
||
ninja Profil |
#6 · Zasláno: 11. 2. 2008, 11:09:08
Lukas-v: prosim bud pozornejsi. Pisu ze unix timestamp udelas z MySQL DATETIME, nikoliv ze to budes mit ulozeny jako timestamp. Koukal jsi se alepson do dokumentace jak vypada DATETIME?!
|
||
Lukas-v Profil * |
#7 · Zasláno: 11. 2. 2008, 11:25:07
Dobre pouziji funkci
date ("U"); ta mi vypise pocet sekund od roku 1970 v casovem pasmu GMT. Tuto hodnout ulozim do mysql databaze. Pote z ni tuto hodnout vyberu a potrebuji z ni dostat ruzne formaty data, 1.) Pro RSS generator (formát rfc822) napr.: Mon, 11 Feb 2008 11:20:31 +0100 2.) Pro Atom generator (w3c format data a casu) napr.: 2006-04-06T20:30:34+01:00 3.) A pote muj format ktery bude zobrazen u novinek v nahledu administracniho rozhrani, cili na webu se nastavi defaultni casove pasmo treba treba GMT +1. Takze ktere funkce pouzit pro rozkodovani toho poctu sekund od roku 1970 abych dostal vsechny hodnoty co potrebuji. Tim ukladanim do databaze se uz tedy nezabyvejme. |
||
ninja Profil |
#8 · Zasláno: 11. 2. 2008, 11:34:56
Ne ne a ne. Ctes co pisu?
Vse co potrebujes je sloupec v MySQL typu DATETIME, MySQL funkce UNIX_TIMESTAMP() a FROM_UNIXTIME() a PHP funkci date(). Najdi si v dokumentaci MySQL a PHP dane veci a urcite budes vedet, jak to udelat. |
||
nightfish Profil |
#9 · Zasláno: 11. 2. 2008, 12:33:09
také doporučuji vaší pozornosti mysql funkci DATE_FORMAT
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#fu nction_date-format |
||
Lukas-v Profil * |
#10 · Zasláno: 11. 2. 2008, 12:46:06
Byl jsem na obede ale uz jsem na to prisel a vse mi funguje, dik moc ;)
|
||
Časová prodleva: 16 let
|
0