anoniem Geplaatst: 27 juni 2004 Delen Geplaatst: 27 juni 2004 Hallo allemaal, Ik wil een javascript schrijven dat het totaal aantal werkuren uitrekend. Het formulier ziet er ongeveer zo uit: Textfields: van [tijd1] tot [eindtijd1] van [tijd2] tot [eindtijd2] van [pauzeVan] tot [pauzeEind] Totaal = [Werkuren] Nu krijg ik het wel voor elkaar wanneer er de juiste numerieke waarde ingegeven wordt. Maar ik tijden kunnen invoeren zoals: gewerkt van 12:00 tot 15:00 gewerkt van 17:00 tot 20:00 Pauze van 12:30 tot 13:00 Totaal 5.5 uur gewerkt Heeft iemand een idee of voorbeeld van hoe ik dit voor elkaar kan krijgen?? Bijvoorbaat dank. Eric. Quote Link naar reactie
anoniem Geplaatst: 27 juni 2004 Auteur Delen Geplaatst: 27 juni 2004 Je kan de tijden splitten op ":" en daarna rekenen met deze afzonderlijke waarden (uren en minuten). Of deze losse waarden gebruiken voor het setten van de uren en minuten van een Date object, bijvoorbeeld zo: [code:1:3af53ebd55] /* expects timestrings in HH:MM format returns difference in minutes */ function calcTimeDiff(t1, t2) { var d1 = new Date(); var d2 = new Date(); d1.setHours(t1.split(':')[0]); d1.setMinutes(t1.split(':')[1]); d2.setHours(t2.split(':')[0]); d2.setMinutes(t2.split(':')[1]); return ((d2 - d1) / 1000 / 60); } [/code:1:3af53ebd55] [url=http://www.devguru.com/Technologies/ecmascript/quickref/date.html]Meer info over de methods en properties van het Date() object.[/url] Enig probleem wat ik zie is wanneer je tijden "over een dag heen tilt", maar daar moet nog wel een oplossing voor te vinden zijn. Bijvoorbeeld 23:00 en 0:30. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen