16.16.16 - 16.00.00 = ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tommy

Tommy

13/05/2006 22:48:00
Quote Anchor link
ik heb een lijst met tijden uur, minuten, seconden. bv. 16.16.16
ik heb een tijd bv. 16.00.00
ik wil dus dat 16.00.00 wordt afgetrokken van 16.16.16 zodat ik uiteindelijk 00.16.16 uitkomt. Ik wil dit echter doen voor 200 tijden. Is dit het gemakkelijkst met date_add en kan die wel seconden aan?

vriendelijke groeten, tommy

opmerking: tijden zitten in tabel in phpmyadmin (db) dus...:)
Gewijzigd op 01/01/1970 01:00:00 door Tommy
 
PHP hulp

PHP hulp

09/05/2021 21:53:44
 
Jan Koehoorn

Jan Koehoorn

13/05/2006 22:49:00
Quote Anchor link
Ik zou eerder in de richting van TIMEDIFF zoeken. Je format met puntjes is wel gek. Meestal zijn het dubbele punten, dus: 16:16:16
 
Tommy

Tommy

13/05/2006 22:51:00
Quote Anchor link
verstrooi..foutje srry eff aanpassen
TIMEDIFF? eff kijken en wat doet die functie

edit:
TIMEDIFF(expr,expr2)

TIMEDIFF() returns the time between the start time expr and the end time expr2. expr 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'
Gewijzigd op 01/01/1970 01:00:00 door Tommy
 
Jan Koehoorn

Jan Koehoorn

13/05/2006 22:53:00
Quote Anchor link
Wat doet die functie? Precies wat jij wilt :-)

TIMEDIFF( )
TIMEDIFF(time, time)
This function returns the time difference between the two times given. Although the
arguments may be given in time or date-and-time format, both arguments must be of
the same datatype. This function is available as of Version 4.1.1 of MySQL.
SELECT appointment AS Appointment, NOW( ) AS Now,
TIMEDIFF(appointment, NOW( )) AS 'Time Remaining'
FROM appointments
WHERE rec_id='3783';
+--------------------+--------------------+----------------+
| Appointment | Now | Time Remaining |
+--------------------+--------------------+----------------+
| 2005-01-11 10:30:00| 2005-01-11 22:28:09| 12:01:51 |
+--------------------+--------------------+----------------+
 
Tommy

Tommy

13/05/2006 22:54:00
Quote Anchor link
okay leuk en bedankt
 
Tommy

Tommy

13/05/2006 23:11:00
Quote Anchor link
nog een probleem de tijden zitten in een andere tabel:

duathlon: id, (aftetrekken)tijd
instellingen: tijd
 
Jan Koehoorn

Jan Koehoorn

13/05/2006 23:14:00
Quote Anchor link
Je kunt een query over meer dan 1 tabellen laten lopen.

SELECT TIMEDIFF(tabel1.tijd, tabel2.tijd) AS verschil
FROM tabel1, tabel2
 
Tommy

Tommy

14/05/2006 08:42:00
Quote Anchor link
$sql = "SELECT TIMEDIFF(instellingen.start_time,duathlon.tijd) AS time FROM instellingen, duathlon";
$query = mysql_query($sql)or die(mysql_error());

waren typfouten, :p

AS ... wat betekend dat eigenlijk, wat zijn alliasen eigenlijk?
Gewijzigd op 01/01/1970 01:00:00 door Tommy
 
Tommy

Tommy

14/05/2006 08:57:00
Quote Anchor link
$sql = "SELECT TIMEDIFF(instellingen.start_time,duathlon.tijd) AS tijd FROM instellingen, duathlon";
$query = mysql_query($sql)or die(mysql_error());
while ($list = mysql_fetch_object($query)){
echo $list->tijd;
}

dit werkt niet ?
Gewijzigd op 01/01/1970 01:00:00 door Tommy
 
Willem Jan Z

Willem Jan Z

14/05/2006 09:14:00
Quote Anchor link
Wat zegt de error?
 
Tommy

Tommy

14/05/2006 09:48:00
Quote Anchor link
geen error; alleen geen output

Heb nogal mijn twijfels over wat ik moet invullen na de AS dus dat zou wel eens het probleem kunnen zijn.
groeten, tommy

tabel structuur
->duathlon
+----------------+--------------------+---------------+
| id | schoolnummer | tijd |
+----------------+---------------+---------------+
| 1 | 409 | 16:12:33 |
+----------------+---------------+---------------+
->instellingen
+----------------+---------------+
| start_time | total_time |
+----------------+---------------+
| 16:00:00 | hier moet dus komen 00:12/33
+----------------+---------------+

als ik de code $sql = "SELECT TIMEDIFF(duathlon.tijd,instellingen.start_time) AS total_time FROM instellingen, duathlon";
invoer in de sql van phpmyadmin kom ik 10 keer NULL uit
Gewijzigd op 01/01/1970 01:00:00 door Tommy
 
Tommy

Tommy

14/05/2006 11:19:00
Quote Anchor link
opgelost
 
Jan Koehoorn

Jan Koehoorn

14/05/2006 12:39:00
Quote Anchor link
Tommy:
AS ... wat betekent dat eigenlijk, wat zijn aliassen eigenlijk?


met AS creëer je een tijdelijke naam voor een queryuitkomst. Als een bestaand veld ophaalt is dat meestal niet nodig, maar als je een berekening uitvoert heb je een variabelenaam nodig om die in te stoppen zodat je het resultaat kunt fetchen. Ook als je bijvoorbeeld een DATETIME veld op een bepaalde manier geformatteerd ophaalt is het handig om een alias te gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
SELECT DATE_FORMAT(datetime, '%Y') AS jaar
FROM tabel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.