De week waarin we leven

Status
Niet open voor verdere reacties.

JB'tje

Gebruiker
Lid geworden
31 mei 2004
Berichten
556
Hallo,

Ik zou graag willen weten hoe ik met javascript de week waarin we leven kan achterhalen...
Met PHP is dit wel te doen (date('W');) maar dit keer moet het script kunnen draaien zonder PHP...

Als het lastig tot niet mogelijk is om de week te achterhalen, weet iemand dan hoe ik de broncode van een andere (PHP) site kan achterhalen?
dus:

server 1 (met PHP en javascript): Script dat dit afdrukt: date('W') // geeft als HTML code dit terug: 10
server 2 (zonder PHP MET javascript) Script dat de broncode van server 1 ophaalt en gebruikt.

Alvast bedankt,
Jeffrey
 
HTML:
<script language="JavaScript">
 function getWeekNumber() {
  var dateNow = new Date();
  var newyearsday = new Date(dateNow.getFullYear(),0,1);
  var days = Math.floor((dateNow.getTime() - newyearsday.getTime()) / (24 * 60 * 60 * 1000));
  var odd = newyearsday.getDay(); // Zondag 1e weekdag
  // var odd = [6,0,1,2,3,4,5][newyearsday.getDay()]; // Maandag 1e weekdag
  return Math.floor((days + odd) / 7 + 1);
  };

document.write(getWeekNumber());
</script>
Voor vandaag geeft het weeknummer 10, als je maandag als 1e dag van de week gebruikt geeft het 11.


Vr.Gr. Egel.
 
Laatst bewerkt:
Heel erg bedankt, het werkt perfect !
nu kan ik weer verder...

Gegroet,
Jeffrey
 
JB'tje zei:
Heel erg bedankt, het werkt perfect ! nu kan ik weer verder... Gegroet, Jeffrey
Graag gedaan! :)

Alleen..., bij bovenstaand script begint week 1 op de eerste dag van het jaar en week twee op de eerst volgende zondag (of // maandag). Als dat hetzelfde resultaat geeft als date('W'); met php is dat misschien precies wat je wilt maar na wat gegoogle kwam ik er achter dat de officiële nederlandse weeknummering iets anders werkt.

NEN 2772: de eerste week van het jaar heeft 4 of meer dagen in dat jaar, een week begint op een maandag.

De eerste donderdag valt daardoor altijd in week 1, als het jaar met een vrijdag, zaterdag of zondag begint heeft die week nog het nummer uit het oude jaar.

HTML:
<script language="JavaScript">
 // Egel 060307 :)
 // NEN 2772: (Nederlandse Norm)
 // de eerste week van het jaar heeft 4 of meer dagen in dat jaar,
 // een week begint op een maandag.
 function weeknummer(terug) {
  var vandaag = new Date();
  var jaartal = vandaag.getFullYear() - (terug ? 1 : 0);
  var nieuwjaarsdag = new Date(jaartal,0,1);
  var dagen = Math.floor((vandaag.getTime() - nieuwjaarsdag.getTime()) / (24 * 60 * 60 * 1000));
  var nen = [6,7,8,9,10,4,5][nieuwjaarsdag.getDay()];
  var nummer = Math.floor((dagen + nen) / 7);
  if (nummer == 0) nummer = weeknummer(true); 
  return nummer;
  };

 document.write(weeknummer());
</script>
Dat geeft ook weeknummer 10 voor vandaag. :)

NEN 2772 schijnt gelijk te zijn aan ISO 8601.


Vr.Gr. Egel.
 
hehehe.. heel erg bedankt... ik had het probleem al "omzeild" voor dit jaar door zondag maar als eerste dag van de maand te nemen :)
maar dit is beter...

Heel erg bedankt voor de "update":thumb:

Gegroet,
Jeffrey
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan