wat te gebruiken: TIMEDIFF of een getal met 8 decimalen
maar goed, ontopic:
ik wil een online spel gaan maken, maar nu zit ik met de grondstoffen. Ik moet er dus voor zorgen dat je iedere seconde genoeg erbij krijgt van de betreffende grondstof. Maar mijn vriend en ik vroegen ons af wat ik beter kan gebruiken:
1. een record waarin ik per seconde een getal van ong 8 decimalen bij tel, en dus in de database zet
of
2. ik neem de tijd die het duurt voordat er 1 bij komt, en vergelijk deze met de functie TIMEDIFF.
mij lijkt de 2de wat onhandig, omdat de tijd af en toe wat moeilijk te delen is enzo
welk idee vinden jullie het beste, of hebben jullie een ander idee?
En waarom zou het onhandig zijn om een bewezen functie te gebruiken? Leg dat eens uit.
2. het mij nogal moeilijk lijkt om met tijd te rekenen. en omdat TIMEDIFF altijd met dezelfde 'soort' tijd moet rekenen, moet ik daar ook nog eens aan denken...
2.) Als je iets moeilijk vindt leer je er alleen maar van..
Quote:
Wat snap je daar niet aan? Je stop 2x een tijd of datum met tijd (= 1 soort) als input in de functie en er komt 1 resultaat uit. TIMEDIFF(expr1,expr2)
TIMEDIFF() returns expr1 – expr2 expressed as a time value. expr1 and expr2 are time or date-and-time expressions, but both must be of the same type.
mysql> SELECT TIMEDIFF('2000:01:01 00:00:00',
-> '2000:01:01 00:00:00.000001');
-> '-00:00:00.000001'
mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001',
-> '1997-12-30 01:01:01.000002');
-> '46:58:57.999999'
TIMEDIFF() returns expr1 – expr2 expressed as a time value. expr1 and expr2 are time or date-and-time expressions, but both must be of the same type.
mysql> SELECT TIMEDIFF('2000:01:01 00:00:00',
-> '2000:01:01 00:00:00.000001');
-> '-00:00:00.000001'
mysql> SELECT TIMEDIFF('1997-12-31 23:59:59.000001',
-> '1997-12-30 01:01:01.000002');
-> '46:58:57.999999'
Met de functie NOW() heb je iedere keer bv. al de datum en tijd van het heden te pakken, de andere tijd die jij nodig hebt, is dus een datum mét tijd van de vorige update. Wanneer je die keurig als DATETIME hebt opgeslagen, is dit dus eenvoudig uit te rekenen.
het zijn tog 11 decimalen ?
en de query geeft het verschil terug? want dat heb ik ook eigenlijk nooit begrepen...
Het resultaat van de query geeft terug wat jij wilt, dus daar kan je oa ook het verschil mee terug laten geven..
ok, bedankt. ik zal het hier dan maar eens mee proberen...