Autor | Zpráva | ||
---|---|---|---|
iz987 Profil * |
#1 · Zasláno: 19. 9. 2007, 21:51:31
Zdravím..
Potřebuju malinkou radu... Mám v DB sloupce daum a čas a potřeboval bych z dvou časů ve stejný den udělat rozdíl.. příklad 16:30 - 8:20 Potřebova bych vědět uplynulou dobu mezi těmito časy... Napadlo mě udělat u obou času mkdir() a tyto časy v unixovém tvaru odečíst..ale nevím jak poté to číslo dostat zpět na časový výsledek.. (v tomto případě 8:10) Moc se omlouvám, pokud to tu někdo řešil.. Nepodařilo se mi nic moc vygooglovat... |
||
iz987 Profil * |
#2 · Zasláno: 19. 9. 2007, 21:52:33
Samozřejme už píšu hovadiny nemyslel jsem mkdir, ale mktime()
|
||
DJ Miky Profil |
#3 · Zasláno: 19. 9. 2007, 21:54:15 · Upravil/a: DJ Miky
mkdir? To je na vytvoření adresáře…
Pokud je to ve stejný den, tak to stačí převést na minuty (rozdělit třeba pomocí explode nebo substr a $v_minutach=$hodiny*60+$minuty) a jednoduše to od sebe odečíst. Dostaneš rozdíl v minutách, to pak můžeš opět převést na hodiny ($hodiny=floor($rozdil/60); $minuty=$rozdil%60). |
||
iz987 Profil * |
#4 · Zasláno: 19. 9. 2007, 22:19:04
Díky moc takhle mě te nějak už nenapadlo..Samozřejmě že vím na co je mkdir, jen už mám asi trošku přetaženo...
Ale opravdu moc díky.. . Ale i tak by mě zajímalo zda by to šlo řešit i jinak třeba tou původní cestou kterou jsem chtěl jít... |
||
DJ Miky Profil |
#5 · Zasláno: 19. 9. 2007, 22:27:31
Určitě by to tak šlo řešit, jen je podle mě zbytečné převádět to až na sekundy, na minuty to stačí. V principu je to ale to samé.
|
||
Kajman_ Profil * |
#6 · Zasláno: 19. 9. 2007, 23:20:05
|
||
iz987 Profil * |
#7 · Zasláno: 19. 9. 2007, 23:41:24
Tuto variantu mi už také nějaký hodný člověk posílal na jiném foru, ale nevím jak dalece je pro mě využitelná.. za prvé DB je postgre.
Data co mám v DB nejprvr musím překontolovat... Jedná se o docházku, tudíž tam je trošku problémek v tom že nemůžu odečíta co chi jak chci... Příchod přestávka příchod (z přestávky) služební cesta příchod odchod Může tam být lékař, dovolná, jiný důvod, průchod atd..Tudíž tohle musím ještě předem kontrolovat...... Takže pokud nebude správná posloupnost (uživatel udělá nějaký zmatek špatně odpípne a mě to pak bude vyhazovat špatné časy.. ) To řešení od DJ Miky je pro mne patrně nejsnadnější a nejjednodušší. Ale jinak díky za radu;-) |
||
domixx Profil |
#8 · Zasláno: 20. 9. 2007, 04:17:40
...a musí se to převádět? Bych to taky rozděli a pak jen 16-8 a 30-20 = 8:10, ale pak se to zas musí spojit no...
a nebo to time si myslím by taky šlo: (převezmu něco od DJ ;-) ) $t1 = mktime(); //čas1 v s $t2 = mktime(); //čas2 v s $rozdil_minuty = ($t2-$t1)/60; echo $hodiny=floor($rozdil_minuty/60); echo ':'; echo $minuty=$rozdil_minuty%60; když je rozdíl zápornej je chyba... |
||
Kajman_ Profil * |
#9 · Zasláno: 20. 9. 2007, 09:04:28
A nestačí pgsql ty datumy odečíst a vynásobit třeba 24*60 pro minuty. A kontrolu bych osobně dal do sql :-)
|
||
Časová prodleva: 17 let
|
0