Tekst afhankelijk van datum

Status
Niet open voor verdere reacties.

henri2500

Gebruiker
Lid geworden
28 feb 2007
Berichten
265
Hey

Ik zoek een script waarbij ik de tekst naar gelieve de datum automatisch wijzigd.

Voorbeeld:

Van 11 tot 18 augustus moet er staan: donker
Van 19 tot 26 augustus moet er staan: licht

Ik moet er nog veel meer bijvoegen. Dus liefst iets simpels

Alvast bedankt

Gr Henri
 
Code:
var Datum = new Date();
var Maand = Datum.getMonth();
var Dag = Datum.getDate();

if(Maand == 7 && Dag >= 11 && Dag <= 18)
{
document.write("Donker");
}
else if(Maand == 7 && Dag >= 19 && Dag <= 26)
{
document.write("Licht");
}
else
{
document.write("Geen van beide!");
}

Merk op dat getMonth() begint te tellen vanaf 0, dus Januari is 0, Februari is 1 etc...
 
Laatst bewerkt:
Het kan ook met een tabel:
PHP:
<script type="text/javascript">

 var tekst = new Array();
 tekst[ 8] = [,,,,,,,,,,'donker','donker','donker','donker','donker','donker','donker','donker','licht','licht','licht','licht','licht','licht','licht','licht',,,,,];
 tekst[ 9] = [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,];
 tekst[10] = [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,];

 var vandaag = new Date(), maand = vandaag.getMonth(), datum = vandaag.getDate();
 document.write(tekst[maand + 1][datum - 1]);

</script>
Wel goed tellen bij het invullen! ;)


Als de tekst elke keer precies om de 8 dagen verandert dan is er een makkelijker script te maken:
PHP:
var t = new Array('donker','licht','derde','vierde');
var p = Math.floor(((new Date().getTime() / 864e5) - 14102) / 8);
document.write(t[p]);
:)


Vr.Gr. Egel.
 
He

De tekst moet om de week veranderen. Vanaf donderdag tot donderdag.
Er moet komen te staan:

Comborepetitie, gewone repetitie, gezamelijke repetitie en geen repetitie.
Het probleem is alleen dat in deze 4 dingen geen bepaalde volgorde zit. Het is dus afhankelijk van de datum. Dit zal dus betekenen dat ik voor elke week het zal moeten invoeren ipv dat ik een simpel maar kort scriptje kan houden is het niet?

Gr Henri
 
Hey

Ik heb het eerst genoemde script gebruikt omdat deze mij het makkelijst leek (ivm met onregelmatigheden).

Nu nog een enkele vraag, hoe gebruik ik dit script als het wisseld van maand? Bijvoorbeeld van 25-08 naar 06-09?

Gr Henri
 
Dan moet je gewoon schrijven "if(Maand == 8" etc...
In plaats van 7. GetMonth returnt eigelijk het ID nummer van de maand en dat is 7 voor Augustus en 8 voor September. Merk wel op dat het begint te tellen vanaf 0, dus Jan is 0, Feb is 1, Maa is 2, etc... en Dec is 11.
 
Laatst bewerkt:
De tekst moet om de week veranderen. Vanaf donderdag tot donderdag.
Er moet komen te staan:

Comborepetitie, gewone repetitie, gezamelijke repetitie en geen repetitie.
Het probleem is alleen dat in deze 4 dingen geen bepaalde volgorde zit. Het is dus afhankelijk van de datum. Dit zal dus betekenen dat ik voor elke week het zal moeten invoeren ipv dat ik een simpel maar kort scriptje kan houden is het niet?
Als het niet regelmatig is zal je het met de hand moeten invullen inderdaad. Alhoewel een tabel wel het kleinste is, is het weer onoverzichtelijk. Dus dit lijkt me beter:
PHP:
<script type="text/javascript">
 // Egel 080812 ;)

 var nu = new Date().getTime(), melding = '';

 function agenda(d,m,j,a) {
  var k = new Date(j,m - 1,d).getTime();
  if (k <= nu) melding = a;
  };

 agenda( 7, 8,2008,'Comborepetitie');
 agenda(14, 8,2008,'Gewone repetitie');
 agenda(21, 8,2008,'Gezamelijke repetitie');
 agenda(28, 8,2008,'Geen repetitie');
 agenda( 4, 9,2008,'Gewone repetitie');
 // agenda(,,2008,'');

 document.write(melding);

</script>
Het script pakt het laatste agendapunt voor (of gelijk aan) de huidige datum. :)

Voor meer agendapunten kun je de regel agenda(,,2008,''); (zonder //) kopiëren en invullen. Agendapunten die voorbij zijn kun je weer gewoon wissen.


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan