weeknummer ophalen en gebruiken in url

  • Onderwerp starter Onderwerp starter sjg
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

sjg

Gebruiker
Lid geworden
26 aug 2006
Berichten
29
Ik wil een javascript maken die het weeknummer van dat moment en die dan verwerkt in een url, ik heb echter geen enkel idee hoe ik dit doe.

Kan iemand mij helpen?
 
Dit script genereerd een weeknummer volgens de NEN 2772 norm:
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;
  };
</script>
Dat kun je dan bijvoorbeeld zo gebruiken:
location.href = 'pagina_' + weeknummer() + '.html';


Vr.Gr. Egel.
 
Een beetje late reactie op een door een andere gebruiker gestelde vraag over weeknrs. in javascript.
Ik heb Uw antwoord gevonden en ben zo vrij geweest om de opgegeven script te proberen.
Maar het schijnt niet goed te werken.
Misschien doe ik iets fout en kunt U mij verder helpen.
Ik wil graag de weeknrs. op de webpagina laten verschijnen zodat de gebruikers weten naar welke menu men moet gaan zoeken.

Ik heb de scriptcode gekopieerd en in de code gezet tussen head en /head.
Klopt dit of moet ik nog het 1 en ander aanpassen.

Bvd. voor de ondersteuning.
Henk
 
Zeg maar 'je' hoor! ;)

Het script kan inderdaad in de head-sectie en dan kun je het ergens anders aanroepen, bijvoorbeeld zo:
PHP:
<html>
 <head>
  <title>Weeknummer</title>
  <script type="text/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;
    };
  </script>
 </head>
  <body>
   Het is deze week week
   <script type="text/javascript">document.write(weeknummer());</script>.
 </body>
</html>
Dat script geeft wel alleen het weeknummer van de huidige datum.

Met deze kun je van een willekeurige datum het weeknummer opvragen:
PHP:
<html>
 <head>
  <title>Weeknummer</title>
  <script type="text/javascript">
   // Egel 071124 ;)
   // 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(jaar,maand,dag,terug) {
    var datum = new Date(jaar,maand - 1,dag);
    var jaartal = datum.getFullYear() - (terug ? 1 : 0);
    var nieuwjaarsdag = new Date(jaartal,0,1);
    var dagen = Math.round((datum.getTime() - nieuwjaarsdag.getTime()) / 864e5);
    var nen = [6,7,8,9,10,4,5][nieuwjaarsdag.getDay()];
    var nummer = Math.floor((dagen + nen) / 7);
    if (nummer == 0) nummer = weeknummer(jaar,maand,dag,true);
    return nummer;
    };
  </script>
 </head>
  <body>
   Op 24 november 2007 is het week
   <script type="text/javascript">document.write(weeknummer(2007,11,24));</script>.
   <br>
   Op 1 januari 2008 is het week
   <script type="text/javascript">document.write(weeknummer(2008,1,1));</script>.
   <br>
   Op 3 januari 2010 is het week
   <script type="text/javascript">document.write(weeknummer(2010,1,3));</script>.
 </body>
</html>
:)


Vr.Gr. Egel.
 
Laatst bewerkt:
Dank voor de snelle reactie en de code.

Maar waarschijnlijk vergeet ik iets of doe ik wat verkeerd.
(ook niet zo veel ervaring hiermee)
Ik heb de bovenste code gebruikt en zie als resultaat staan:

Het is deze week week .

Dat is bijna wat ik wil alleen zie ik het weeknummer niet verschijnen dus ik zal wel wat vergeten of over het hoofd zien.

Mocht je nog in de gelegenheid zijn om me wat uitleg te geven dan houd ik me sterk aanbevolen.
Gr.Henk
 
Dank voor de snelle reactie en de code.

Maar waarschijnlijk vergeet ik iets of doe ik wat verkeerd.
(ook niet zo veel ervaring hiermee)
Ik heb de bovenste code gebruikt en zie als resultaat staan:

Het is deze week week .

Dat is bijna wat ik wil alleen zie ik het weeknummer niet verschijnen dus ik zal wel wat vergeten of over het hoofd zien.

Mocht je nog in de gelegenheid zijn om me wat uitleg te geven dan houd ik me sterk aanbevolen.
Gr.Henk

Sorry was wat voorbarig, een simpele tikfout was de oorzaak.
Werkt uitstekend.
Zeer bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan