Autor | Zpráva | ||
---|---|---|---|
peta Profil * |
#1 · Zasláno: 16. 11. 2005, 10:15:49
Nekdo mi poradil, ze se dobre pracuje s timestamp. Potreboval bych vedet ale jak.
Mam toto v SQL: game_start timestamp NOT NULL default '0', Potrebuji to - vytahnout do PHP - vytahnout z toho v PHP rok, den, mesic, hodinu, minutu - ulozit aktualni cas Nepotrebuji prikaz sql, jenom php kody pro ovladani udaje v timestampu |
||
peta Profil * |
#2 · Zasláno: 16. 11. 2005, 10:28:39
Uz nic, asi jsem to nasel:
aktualni: $razitko = time() prevod: $cas = date('d/m/Y',$razitko) ddoufam, ze je to ono |
||
kaifman Profil |
#3 · Zasláno: 16. 11. 2005, 11:03:13
tak to ti ten nekdo poradil spatne :-)
|
||
peta Profil * |
#4 · Zasláno: 16. 11. 2005, 11:28:09
kaifman
Myslis? :) Podle mne se s tim docela dobre pracuje. Nicmene nemuzu ho ted prinutit, aby mi ulozil razitko. $datum=time(); echo $datum."<br />"; ... 11321365142005 echo date('d/m/Y',$datum); ... 16/11/2005 a legrace nejvetsi :) user_regdate timestamp NOT NULL default '0', $dotaz = "INSERT INTO $tabulka VALUES ('$id','$login','$psw','$ip','$info','$datum','$datum','0')"; v DB nic :))))) polozka id, login, psw,ip,info OKI, ale jak je razitko, tak ne a ne ulozit http://mracek.xhosting.cz/gc/gc-users.php |
||
Hugo Profil |
#5 · Zasláno: 16. 11. 2005, 11:37:25
Chyba je samozřejmě v tom, že do sloupce, který má typ timestamp ukládáš datum ve formátu Unix-Timestamp.
http://dev.mysql.com/doc/refman/5.0/en/timestamp-4-1.html |
||
peta Profil * |
#6 · Zasláno: 16. 11. 2005, 11:52:28
Hugo
Aha, ja myslel, ze je to totez. Vim, ze normalne jsou v tom odlisnosti, ale sem to nepouzival... Takze, jak to prevest? //cz2.php.net/time time -- Return current Unix timestamp Cili rika, ze time vraci unixovy format Dale jsem nase prevod pomoci DB, ale to men vicemene nezajima... $result=mysql_query ("SELECT UNIX_TIMESTAMP(timestamp_column) as epoch_time FROM table"); Cili s jakym datumem tedy pracovat, abych si jej mohl ulozit v poho do DB? (Napada mne finta, ze do tam zkratka ulozim jako 14-znakovy retezec a vykaslu se na nejake typy Timestamp.) |
||
Hugo Profil |
#7 · Zasláno: 16. 11. 2005, 11:53:49
A proc nepouzijes typ datetime? Aktualni datum potom muzes vkladat pomoci funkce now().
|
||
peta Profil * |
#8 · Zasláno: 16. 11. 2005, 11:55:20
Tam nepotrebuji zadne slozitosti, jen
datum registrace, zalozeni hry, aktualni cas (abych mohl sledovat dobu hry, cas online) |
||
printf_jinde Profil * |
#9 · Zasláno: 16. 11. 2005, 11:55:59
Výhoda typu DATETIME je, že je dobře čitelný a snadno se převádí do téměř libovolného formátu.
|
||
peta Profil * |
#10 · Zasláno: 16. 11. 2005, 11:56:23
Hugo
Ok, a jak se s tim pracuje, kdyz chci odcitat 2 casy a pak z toho zjistit minuty a hodiny? |
||
peta Profil * |
#11 · Zasláno: 16. 11. 2005, 11:58:21
Hugo Docela by mi vadilo, kdybych si ulozit DATETIME a pak, kdyz chci zjistit rozdil mezi A a B udaji, abych A i B musel na neco prevest. To mi prijde jako zbytecne komplikovane. Proto bych radeji neco jako "timestamp" , kde si to prevadim az pro zobrazeni.
|
||
hugo_jinde Profil * |
#12 · Zasláno: 16. 11. 2005, 11:59:05
|
||
printf_jinde Profil * |
#13 · Zasláno: 16. 11. 2005, 12:00:49
v njehorším si ulož ty unixové vteřiny nebo co to je jako nějakej delší int
|
||
peta Profil * |
#14 · Zasláno: 16. 11. 2005, 12:05:50
hugo_jinde
Pocky, a pole typu unixtime tam nemuzu zapsat? Musi se to konvertovat, ju? Zbytecne konverze nesnasim :) |
||
Hugo Profil |
#15 · Zasláno: 16. 11. 2005, 12:08:37
peta
Muzes, ale musis pouzit datovy typ unix-timestamp. |
||
peta Profil * |
#16 · Zasláno: 16. 11. 2005, 12:10:53
Nebo takhle:
- pouziji-li UNIX-TIMESTAMP, PHP je oki, ale pro SQL musim pouzit konverzi - pouziji-li TIMESTAMP, v PHP nevim, jak se s tim pracuje, kdyz chci A-B (casy), asi konverze a SQL v poho - pouziji-li DATETIME, pak v PHP musim pro A-B provest konvezi, kdyz to chci ulozit do SQL, tak mam pocit, ze taky musim pouzit konverzi - a treti zlata cesta s necim univerzalnim neni? Ta stranka je dost silena, co tak lemo obhledam. Silene moc informaci, ktere mne nezajimaji... |
||
peta Profil * |
#17 · Zasláno: 16. 11. 2005, 12:11:27
Hugo super, sem chtel vedet, jestli to existuje :)
|
||
peta Profil * |
#18 · Zasláno: 16. 11. 2005, 12:12:46
Hugo Jeste by mne zajimalo, pro ktere PHP to existuje?
|
||
Hugo Profil |
#19 · Zasláno: 16. 11. 2005, 12:14:46
peta
Tohle se php netýká. MySQL to podporuje snad odjakživa. |
||
peta Profil * |
#20 · Zasláno: 16. 11. 2005, 12:17:35
Aha, a mozna hloupy dotaz, proc vetsina lidi pouziva DATETIME?
|
||
Hugo Profil |
#21 · Zasláno: 16. 11. 2005, 12:18:50
peta
Já ho mám radši. Dá se to jednoduše transformovat na cokoliv a např. v phpmyadmin vidíš krásně čas. |
||
peta Profil * |
#22 · Zasláno: 16. 11. 2005, 12:24:48
Hm, tak to jeste zvazim. Je fakt, ze bych raci uvital autokonverzi v myadminu, ale ta tam neni...
|
||
peta Profil * |
#23 · Zasláno: 16. 11. 2005, 13:15:47
Ok, pouziji teda DATETIME a udelam si prevodni funkce:
user_regdate datetime NOT NULL default '0000-00-00 00:00:00', $formatdata="Y-m-d H:i:s" function datumToDate($a) {return date($formatdata,$a);} function datumToStamp($a) {return strtotime($formatdata,$a);} $nacteno=(2005-11-9 33:22:44); $a=time(); $b=datumToStamp($nacteno); $a=$a-$b; $a=datumToDate($a); Rad bych vedel, jak to napsat do toho strtotime(), aby mi to fungovalo? Nebo jak teda odcitat 2 datumy ve formatu datetime? |
||
peta Profil * |
#24 · Zasláno: 16. 11. 2005, 13:31:30
Nic, dobre, uz to mam. Trapny :)
$dformat="Y-m-d H:i:s"; $a=date($dformat); $b=strtotime($a); $c=time(); echo "<pre>"; echo $a."\n"; echo $b."\n"; echo $c."\n"; echo "</pre>"; |
||
kaifman Profil |
#25 · Zasláno: 16. 11. 2005, 16:18:38
dva datumy muzes odecist napriklad tak ze je prevedes na dny
to_days(jedenDatum)-to_days(druhejDatum) a nebo pokud chces mesice tak period_diff() podivej se do manualu na funkce pro praci s datumama a nejakej timestamp posles do kopru :-) |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0