Aantal uur controleren
Door middel van een Jquery plugin kan iemand in twee velden de begin- en eindtijd invullen. Deze geven aan wanneer iemand een bepaald 'voorwerp' wil lenen.
De tijdformat gaat in deze volgorde: maand/dag/jaar uur:minuut. Stel dat iemand een voorwerp van 07/11/2011 10:52 tot 08/11/2011 11:56 wil lenen. Dit valt dus in totaal 26 uur. Ik kan dan makkelijk het uur tarief berekenen. Maar mijn vraag is: hoe bereken ik uit deze twee velden het aantal uur dat er tussen zit? Ik heb geen idee hoe ik kan beginnen, dus als iemand mij wat op weg kan helpen hoor ik het graag.
Volgens mij kan dat doormiddel van 'DATEDIFF' in je query.
strtotime
Met strtotime kan je de datum (misschien ook tijd) veranderen in seconden.
Als je bijvoorbeeld doet:
Hier heb je wel wat aan: Met strtotime kan je de datum (misschien ook tijd) veranderen in seconden.
Als je bijvoorbeeld doet:
En dan nog een keer vermenigvuldigen met 24 voor het aantal uur.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
<script type="text/javascript">
var getdatefrom = document.getElementById('timefrom').value;
var from_DateParts = getdatefrom.split(/[/ :]+/);
var fromDateFormat=from_DateParts[1]+"/"+from_DateParts[0]+"/"+from_DateParts[2]+" "+from_DateParts[3]+":"+from_DateParts[4];
var datefrom = new Date(fromDateFormat);
var getdateto = document.getElementById('timeto').value;
var to_DateParts = getdateto.split(/[/ :]+/);
var toDateFormat=to_DateParts[1]+"/"+to_DateParts[0]+"/"+to_DateParts[2]+" "+to_DateParts[3]+":"+to_DateParts[4];
var dateto = new Date(toDateFormat);
var hours = 1000 * 60 * 60;
var diffHours = Math.ceil((dateto.getTime()-datefrom.getTime())/(hours));//aantal uur
</script>
?>
<script type="text/javascript">
var getdatefrom = document.getElementById('timefrom').value;
var from_DateParts = getdatefrom.split(/[/ :]+/);
var fromDateFormat=from_DateParts[1]+"/"+from_DateParts[0]+"/"+from_DateParts[2]+" "+from_DateParts[3]+":"+from_DateParts[4];
var datefrom = new Date(fromDateFormat);
var getdateto = document.getElementById('timeto').value;
var to_DateParts = getdateto.split(/[/ :]+/);
var toDateFormat=to_DateParts[1]+"/"+to_DateParts[0]+"/"+to_DateParts[2]+" "+to_DateParts[3]+":"+to_DateParts[4];
var dateto = new Date(toDateFormat);
var hours = 1000 * 60 * 60;
var diffHours = Math.ceil((dateto.getTime()-datefrom.getTime())/(hours));//aantal uur
</script>
?>
Maar bedankt voor het meedenken in ieder geval!
Gewijzigd op 11/07/2011 12:04:22 door Jordy nvt