Autor | Zpráva | ||
---|---|---|---|
Petr Profil |
#1 · Zasláno: 16. 9. 2007, 19:53:28 · Upravil/a: Petr
Ahoj, vytvořil jsem formulář a mám problém nezapisuje se mi do databaze datum a
čas. Potřeboval bych ve tvaru 16.9.2007 v 12:40:20. Poradí mi někdo jak na to. |
||
nightfish Profil |
#2 · Zasláno: 16. 9. 2007, 19:57:43
Ahoj, vytvořil jsem formulář a mám oroblém nezapisuje se mi do databaze datum a
čas. Potřeboval bych ve tvaru 16.9.2007 v 12:40:20. Poradí mi někdo jak na to. bez podrobnějších informací co jak děláš, případně ukázky kódu to nepůjde |
||
krteczek Profil |
#3 · Zasláno: 16. 9. 2007, 19:58:32
dloupec dej jako datetime a při ukládání now() pro tento sloupec
|
||
Joker Profil |
#4 · Zasláno: 16. 9. 2007, 20:05:28
Petr
Potřeboval bych ve tvaru 16.9.2007 v 12:40:20. K tomuhle poznámka, to ovšem neznamená, že se musí stejným způsobem ukládat do databáze. Do databáze se uloží prostě datum a čas (asi nejlépe jako rrrr-mm-dd hh:mm:ss, to je snad bezproblémový zápis) a pak se to příslušně naformátuje při zobrazení. |
||
Petr Profil |
#5 · Zasláno: 17. 9. 2007, 09:02:30
Joker
Do databaze je to bez problému, ale nevím jak to mám na formátovat při zobrazení. Poradíš mi prosím tě.... Diky moc |
||
Kajman_ Profil * |
#6 · Zasláno: 17. 9. 2007, 09:11:17
|
||
Petr Profil |
#7 · Zasláno: 17. 9. 2007, 09:19:22
Kajman_ na to už jsem koukal a nebyl jsem s toho chytrej.
|
||
djlj Profil |
#8 · Zasláno: 17. 9. 2007, 09:24:02
Petr
Pod tou tabulkou máš příklady. |
||
Petr Profil |
#9 · Zasláno: 17. 9. 2007, 09:30:17
djlj a poradil bys mi prosím tě jaký mám použít příkaz....
|
||
djlj Profil |
#10 · Zasláno: 17. 9. 2007, 09:35:38
Klikni na tento odkaz: http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#fu nction_date-format
Jak je patrno, možná jsi na něj klikl, ale ani sis jej nepřečetl (toto je většinou vyžadováno). Kdybys tak učinil, víš, že směřuje přímo na funkce DATE_FORMAT a jsou tam i příklady. |
||
fikus Profil * |
#11 · Zasláno: 17. 9. 2007, 09:38:57
Petr
konkretne to vypada treba takhle: SELECT DATE_FORMAT(datum_ze_sql,'%e.%c.%Y %H:%i:%S') as zformatovane_datum FROM... |
||
Petr Profil |
#12 · Zasláno: 17. 9. 2007, 11:01:49
Když jsem to udělal takle, tak se mi nevypsali informace z databaze.
$vysledek = MySQL_Query("SELECT DATE_FORMAT('2003-10-03',GET_FORMAT(DATE,'EUR')) FROM scoajl_clanky ORDER BY id desc LIMIT $stranka, 10 "); |
||
nightfish Profil |
#13 · Zasláno: 17. 9. 2007, 11:59:33
Když jsem to udělal takle, tak se mi nevypsali informace z databaze.
protože v té ukázce žádné vypisování informací nemáš... http://linuxsoft.cz/php - díly 38, 39, případně další |
||
Joker Profil |
#14 · Zasláno: 17. 9. 2007, 12:13:12
Když jsem to udělal takle, tak se mi nevypsali informace z databaze.
protože v té ukázce žádné vypisování informací nemáš... Krom toho bych SQL dotazy testoval raději třeba v phpMyAdminu testovací databáze, kde se dá dotaz rychle upravit, rovnou je vidět co vrátí a případné chyby. |
||
aDAm Profil |
#15 · Zasláno: 17. 9. 2007, 16:13:17
a co takhle tam ten cas hazet v unixovem tvaru a pak je jen formatovat pomoci date() ???
|
||
nightfish Profil |
#16 · Zasláno: 17. 9. 2007, 16:15:21
a co takhle tam ten cas hazet v unixovem tvaru
otázka za 20 bodů - co to udělá, když budeš chtít uložit třeba 15.4.1965? |
||
aDAm Profil |
#17 · Zasláno: 17. 9. 2007, 16:18:28
mno to je fakt ze v tomto pripade by to bylo problem, ja tedy spis ukladam jen casy z hodne blizke minulosti nebo pritomnost a budoucnost ;)
|
||
krteczek Profil |
#18 · Zasláno: 17. 9. 2007, 18:50:32
aDAm: budoucnost je unix timestamp také omezena
|
||
nightfish Profil |
#19 · Zasláno: 17. 9. 2007, 18:56:26
budoucnost je unix timestamp také omezena
konkrétně v PHP je maximální datum, které vrátí funkce Date() rovno 2038-01-19 04:14:07 (pro timestamp 2147483647 - maximální hodnota 32-bitového celého čísla se znaménkem) |
||
Petr Profil |
#20 · Zasláno: 19. 9. 2007, 12:54:32
Ahoj, všem moc děkuji za pomoc ohledne čtení datumu a času z databaze. Problém už jsem vyřešil už mi to funguje.
|
||
aDAm Profil |
#21 · Zasláno: 19. 9. 2007, 13:22:46
2038 mi zatim bohate staci ;)
|
||
nightfish Profil |
#22 · Zasláno: 19. 9. 2007, 14:00:23
2038 mi zatim bohate staci ;)
některým týpkům taky stačilo ukládat pouze 2 cifry z letopočtu... a jak to dopadlo |
||
Joker Profil |
#23 · Zasláno: 19. 9. 2007, 14:13:40
Já myslím, že s timestamp problém nebude- prostě se rozšíří na 64 bitů, nějaký čas budou paralelně dva formáty a během pár let všichni přejdou.
Krom toho myslím, že už existuje nějaký timestamp se začátkem 1.1.1900 a rozsahem pár tisíc let :-) Na druhou stranu jsem asi nikdy nějak nepochopil, proč vlastně timestamp používat. Když kontroluju databázi třeba v phpMyAdminu nebo si nechám vypsat obsah nějaké proměnné, je lepší tam vidět například "2007-09-19 13:22:46" než "1190200966" |
||
nightfish Profil |
#24 · Zasláno: 19. 9. 2007, 14:17:00
Na druhou stranu jsem asi nikdy nějak nepochopil, proč vlastně timestamp používat.
kvůli jednoduchému rozdílu dvou datumů? |
||
Str4wberry Profil |
#25 · Zasláno: 19. 9. 2007, 14:40:30
nightfish
Řekl bych, že o něco málo menší jednoduchost nepřeváží přehlednost. |
||
nightfish Profil |
#26 · Zasláno: 19. 9. 2007, 14:42:35
Řekl bych, že o něco málo menší jednoduchost nepřeváží přehlednost.
netvrdím, že ano, sám v databázích používám výhradně sloupce typu date/datetime uváděl jsem to jen jako příklad možného uvažování... |
||
Joker Profil |
#27 · Zasláno: 19. 9. 2007, 15:27:18
nightfish
kvůli jednoduchému rozdílu dvou datumů? Tak to je asi jediná možnost co mě napadla, ovšem dneska už to často je jenom výpočetně rychlejší, než programátorsky jednodušší... když dneska často existují funkce na výpočet rozdílu mezi daty a psát něco jako dateDiff(getT1(), getT2(), "d"); je pro programátora přehlednější a jednodušší, než něco jako ((getT1() - getT2()) / 3600) / 24; |
||
Časová prodleva: 17 let
|
0