Hoi allemaal!
Ik wou een functie schrijven die het aantal weken sinds september berekent. Tot zover heb ik het volgende:
Het probleem is echter dat dit in Firefox 99154 teruggeeft, terwijl het in Internet Explorer zoals het hoort 17 teruggeeft. Wat is er hier misgegaan?
Alvast hartelijk bedankt,
Joshua.
Ik wou een functie schrijven die het aantal weken sinds september berekent. Tot zover heb ik het volgende:
Code:
<script type="text/javascript">
function aantal_weken_sinds_september ( )
{
/* Eerste_datum is de maandag voor 1 september ( als 1 september niet op een maandag valt )
tweede_datum is de huidige datum, die ook afgerond zal worden naar de voorgaande maandag. */
var eerste_datum;
var tweede_datum = new Date ( );
/* Deze variabele stelt een week in milliseconden voor, zodat we straks makkelijk
het verschil tussen de twee datums kunnen berekenen. */
var week_in_milliseconden = 1000 * 60 * 60 * 24 * 7;
/* Deze variabele stelt het uiteindelijke berekende verschil in weken voor */
var verschil_in_weken;
/* Nu stellen we eerste_datum gelijk aan september. Dit kan alleen correct gebeuren als we
de huidige maand kennen ( omdat anders een september in de toekomst valt ), daarom
initialiseren we deze variabele nu pas. */
if ( tweede_datum.getMonth ( ) >= 8 )
{
/* Deze datum wordt nog naar de vorige maandag afgerond */
eerste_datum = new Date ( tweede_datum.getYear ( ), 8, 1 );
}
else
{
/* Deze datum wordt nog naar de vorige maandag afgerond */
eerste_datum = new Date ( ( tweede_datum.getYear ( ) - 1 ), 8, 1 );
}
/* Nu gaan we de eerste datum, die nu 1 september bevat, afronden naar de vorige
maandag. */
if ( eerste_datum.getDay ( ) != 1 )
{
eerste_datum.setDate ( eerste_datum.getDate ( ) - ( eerste_datum.getDay ( ) - 1 ) );
}
/* Dit doen we nu idem met tweede_datum. */
if ( tweede_datum.getDay ( ) != 1 )
{
tweede_datum.setDate ( tweede_datum.getDate ( ) - ( tweede_datum.getDay ( ) - 1 ) );
}
/* Deze regel berekent het verschil tussen de twee datums. */
verschil_in_weken = Math.ceil ( ( tweede_datum.getTime ( ) - eerste_datum.getTime ( ) ) / week_in_milliseconden );
return verschil_in_weken;
}
</script>
Het probleem is echter dat dit in Firefox 99154 teruggeeft, terwijl het in Internet Explorer zoals het hoort 17 teruggeeft. Wat is er hier misgegaan?
Alvast hartelijk bedankt,
Joshua.