Rekenen met tijden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Trinco ingels

trinco ingels

10/04/2012 16:42:15
Quote Anchor link
Als ik nu nog eens 63 uur en 30 min invul komt er 63:30 + 63:30 = 127:00 uur.

Dat is ook hetgeen wat ik wil. Dat je kan zien hoeveel uur je gewerkt heb.
Misschien kan dit ook op jouw manier;)

Bedankt voor het meedenken! En ik sta open voor nieuwe technieken natuurlijk..
 
PHP hulp

PHP hulp

22/12/2024 14:53:00
 
Erwin H

Erwin H

10/04/2012 16:43:52
Quote Anchor link
De vraag is.... hoe sla je 63.30 uur op in je database nu?

Toevoeging op 10/04/2012 16:48:53:

Even een voorbeeldje hoe het zou gaan met twee integer kolommen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
CREATE TABLE werktijden(
  uren SMALLINT,
  minuten SMALLINT
);

INSERT INTO werktijden (uren, minuten)
VALUES(1, 30), (2, 15), (300, 50), (0, 120);

SELECT ( (SUM(uren)+ (SUM(minuten) DIV 60) ) AS uren_totaal, SUM(minuten) MOD 60
FROM werktijden

Let op dat ik ook een eigenlijk foutieve input van 0 uur en 120 minuten doe. Geen probleem in dit geval.

Toevoeging op 10/04/2012 16:50:09:

Een andere optie is nog om een kolom te nemen en alle uren voor een insert om te rekenen naar minuten, zodat je alleen minuten in je tabel hebt staan.
Gewijzigd op 10/04/2012 16:49:09 door Erwin H
 
Trinco ingels

trinco ingels

11/04/2012 10:47:01
Quote Anchor link
Ik sla het op als type "time" en dan bijvoorbeeld 09:45:00, 63:30:00
Als ik het via mysql handmatig invoer dan he;)
 
Erwin H

Erwin H

11/04/2012 11:47:26
Quote Anchor link
Dan 900:00:00 :-)

Ok, flauw, je kan dat soort waardes dus wel opslaan, maar zoals je inmiddels al hebt gezien is voornamelijk het eruit halen moeilijk. Simpelweg omdat die velden er niet voor gebouwd zijn. Daarnaast nemen zo ook nog eens meer ruimte in beslag:
SMALLINT (-32768 t/m 32767 of 0 t/m 65535) 2 bytes
TIME (-838:59:59 t/m 838:59:59) 3 bytes

Als je nu mijn laatste suggestie neemt en alles in minuten opslaat dan kan je tot ongeveer 1100 uur in een veld kwijt en dan gebruik je 2 bytes per veld in plaats van 3.
 

Pagina: « vorige 1 2



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.