Archief - Javascript : Leeftijd verkeerd weergegeven

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Siskos

Legacy Member
Ik ben momenteel bezig aan een website voor onze clan, the -=|db|=- Clan. Dat terzijde, ik was vanplan eerst alle info die erop moet erop te zetten en dan aan het design te beginnen. Maar nu zit'k dus al 2 dage met een scriptje te rommelen het wild maar niet meewerken. Het is het script dat de leeftijd van de users automatisch moet aanpassen zosnel als deze jarig is geweest (logisch). Bij elke user word de leeftijd just weergegeven maar bij één user LiL word de leeftijd alleen just weergegeven in de maand dat zij verjaard dan sprint de leeftijd vrolijk weer een jaartje terrug :wtf: .
Kan iemand mij mss helpen met dat script of zeggen waar de fout zit want 'k snap er niet van dat javascript gedoe :(
Volledige Website
Lil bio (pagina met bug)
Webraider bio (werkt wel :eek: )

servi

Legacy Member
uw nummering van de maanden is verkeerd

maandnummer 0 is janauri
maandnummer 1 is februari
enz ...
maandnummer 11 is december


dit betekent dat maand 4 niet april is, maar eigenlijk al mei.

verder heb ik nog niet gekeken naar de code, maar dit kan al wel voor verschillen zorgen.

Siskos

Legacy Member
Code:
<script language="JavaScript">
function getDagenPerMaand(maandNummer){
	var dagenpermaand;
	var hdatum = new Date();
	var hjaar = hdatum.getYear();
	var heelGetal;
	
	maandNummer = maandNummer - 1;
	if (maandNummer == 0){maandNummer = 12;}
	
	switch(maandNummer){
		case 1:{
			dagenpermaand=31;
			break;}
		case 2:{
			var heelGetal = (Math.ceil(hjaar/4)*4) - hjaar;
			document.write('Heel getal = ' + heelGetal + '<br>');
			if (heelGetal == 0){
				dagenpermaand=29;
			}
			else
			{
				dagenpermaand=28;
			}
			break;}
		case 3:{dagenpermaand=31;
			break;}
		case 4:{dagenpermaand=30;
			break;}
		case 5:{dagenpermaand=31;
			break;}
		case 6:{dagenpermaand=30;
			break;}
		case 7:{dagenpermaand=31;
			break;}
		case 8:{dagenpermaand=31;
			break;}
		case 9:{dagenpermaand=30;
			break;}
		case 10:{dagenpermaand=31;
			break;}
		case 11:{dagenpermaand=30;
			break;}
		case 12:{dagenpermaand=31;		
			break;}
	}
	return dagenpermaand;
}
function getLeeftijd(datum){
	
	var strDatum = new String;
	var huidigeDatum = new Date();
	
	var hjaar=huidigeDatum.getFullYear();
	var hmaand=huidigeDatum.getMonth() + 1;
	var hdag = huidigeDatum.getDate();
	
	var ojaar=datum.getFullYear();
	var omaand=datum.getMonth();
	var odag=datum.getDate();
	
	var dpm = getDagenPerMaand(hmaand);
	hjaar = hjaar;
		ojaar = ojaar;	
	var jaar=hjaar - ojaar;

	var maand = hmaand - omaand;
	if (omaand > hmaand){
	    maand = 12 - (omaand - hmaand);
		jaar=jaar - 1;
	}
	else
	{
		if (hmaand = omaand){
			if (odag > hdag){
				jaar = jaar - 1;
			}
		}
	}
	if (odag > hdag){
		maand = maand - 1;
		dag = (dpm - odag) + hdag;
	}
	else
	{
		var dag =hdag - odag;
	}
	
    strDatum = + jaar + '  ' ;
	document.write(strDatum);
}

</script>
<script language="JavaScript">
	// vul hier de geboortedatum in als jjjj,mm,dd
	var datum = new Date(1991,04,25);
	getLeeftijd(datum);
</script>
Wat is hier dan mis ? Ik zie nergens iets van maand januarie is 0 en feb is 1 :confused:

sys4096

Legacy Member
Eens heel rap bekeken...

Doe deze 2 lijnen eens weg...

maandNummer = maandNummer - 1;
if (maandNummer == 0){maandNummer = 12;}

Siskos

Legacy Member
Geeft hetzelfde effect :wtf:
Dit script is één grote bug ofzow :unsure:

Weet iemand dan mss een ander script of kan mij er één maken waar ik net hetzelfde mee kan zonderdat er van deze bugs inzitte ?
Grts from siskos....

GuntherDW

Legacy Member
javascript begint te tellen van 0 als het om maanden gaat
kzie hier


var ojaar=datum.getFullYear();
var omaand=datum.getMonth();
var odag=datum.getDate();


staan, verander da es in datum.getMonth()+1;

Siskos

Legacy Member
Ik heb nu het script gebruikt dat Brainscan had gegeven, dat werkt perfect.
Tog bedankt GuntherDW :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan