Ga naar inhoud

Aanbevolen berichten

Geplaatst:

In de website van onze vereniging worden jeugdspelers voorgesteld en staat o.a. de leeftijd. Ik wil heel graag dat deze leeftijd automatisch wordt aangepast nadat deze speler jarig is geweest. Wie kan mij hierbij helpen? Bedankt. 

Geplaatst:

In plaats van de leeftijd, de geboortedatum opslaan!?

Van een geboortedatum kun je de leeftijd berekenen met wat PHP. 

 

Het ligt er helemaal aan wat voor CMS er gebruikt wordt, en of je kunt rekenen in het CMS. Desnoods zou je een module kunnen installeren. 

Als het allemaal zelf gemaakt is in PHP, dan is de berekening niet zo heel lastig: 

 

<?php

$birthDay = new DateTime("2000-01-01");
$age = $birthDay->diff(new DateTime())->y;

echo $age;

 

"2000-01-01" moet dan vervangen worden met wat er is ingevuld bij een "geboortedatum"

Geplaatst: (aangepast)

Tjah, in een htm of html pagina wordt dat wel een stuk lastiger, maar ik heb een klein stukje code voor je gemaakt.

 

Het zou gedaan kunnen worden met dit stukje javascript. Je zou dit tussen de <head> en </head> tags moeten plaatsen:

 

<script language="javascript">
  Array.prototype.forEach.call(document.querySelectorAll('[data-birthday]'),function(item){ item.innerHTML = Math.floor((new Date() - new Date(item.dataset.birthday)) / (1000 * 60 * 60 * 24 * 365.25));});
</script>

 

Als je nu ergens een leeftijd wilt weergeven zou je de volgende html kunnen gebruiken

 

<span data-birthday="2000-05-18"></span>

Je vervangt dan de datum (in YYYY-MM-DD notatie) door de geboortedatum.

Voor deze datum wordt op de plek waar de <span data-birthday=""></span> code staat de leeftijd geplaatst. 

 

Ik heb even in de broncode gekeken van jouw website. Daar staat dit:

 

<font style="font-size: 16pt">
  14 jaar (19-05-2002)
</font>

 

Als je dit dan zou vervangen door (let op! 14 wordt in dat geval vervangen door de <span> code):

<font style="font-size: 16pt">
  <span data-birthday="2002-05-19"></span> jaar (19-05-2002)
</font>

 

Dan zou daar moeten komen staan: 14 jaar (19-05-2002)

 

Let wel op! het kan ongeveer 20 uur afwijken vanwege schrikkeljaren. Het is ook geen perfect stukje code

 

aangepast door leroy
Geplaatst:

Ik zie het al. Zou je van de code tussen de <head> tags dit kunnen maken? 

 

<script language="javascript">
  document.addEventListener("DOMContentLoaded", function() { 
  	Array.prototype.forEach.call(document.querySelectorAll('[data-birthday]'),function(item){ item.innerHTML = Math.floor((new Date() - new Date(item.dataset.birthday)) / (1000 * 60 * 60 * 24 * 365.25));});
  });
</script>

 

Dan zal het wel werken. 

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.