De zwangerschapscalculator is voor de volgende berekeningen te gebruiken:
- Bereken de uitgerekende datum
- Bereken de waarschijnlijke bevruchtingsdatum
- Bereken het eind van het eerste en tweede trimester
- Bereken hoeveel weken je zwanger bent
- Bereken hoeveel weken je zwanger bent op een bepaalde datum
- Bereken op welke datum je het opgegeven aantal weken zwanger bent
Hoe kun je de ZwangerschapsCalculator gebruiken
Voer de eerste dag van je laatste menstruatie in en ook het aantal
dagen dat je menstruatiecyclus meestal duurt. Klik op de “Bereken” knop.
De overige berekeningen zijn optioneel en kun je desgewenst gebruiken.
Gemiddeld duurt een menstruatiecyclus 28 dagen, maar het kan varieren
van 22 tot 44 dagen. De ZwangerschapsCalculator houdt rekening met de
ingevulde cyclusduur bij het berekenen van de datum waarop je uitgerekend
bent en de bevruchtingsdatum.
codate = new Date(); //bevruchtingsdatum
daymsecs = 60*60*24*1000; //datum naar timestamp maken
c=28; // Standaard cyclus
function due_date()
{
// dag maand jaar en cyclus uit het formulier halen
var d = parseInt(document.getElementById('day').value);
var m = parseInt(document.getElementById('month').value);
var y = parseInt(document.getElementById('year').value);
c = parseInt(document.getElementById('cycle').value);
// ovulatiedatum maken
var starto = new Date();
var dagNummer = starto.getDate();
//maand min 1, plus de cyclus min 14 dagen is de bevruchtingsdatum
starto.setFullYear(y);
//als het de 31e van de maand is, maak het de 30e om te voorkomen dat er twee manden worden afgeteld.
if (dagNummer == 31)
{
starto.setDate(d-1);
}
else
{
starto.setDate(d);
}
starto.setMonth(m-1);
//als het de 31e van de maand is, zet de datum weer terug naar de 31e
if (dagNummer == 31)
{
starto.setDate(d);
}
starto.setTime(starto.getTime() + ((c * daymsecs) - daymsecs*14));
//resultaat opslaan in 'codate'
codate.setTime(starto.getTime());
// conception waarde weergeven
document.getElementById('conception').value = formatted_date(starto);
//variabele voor uitgerekende datum maken
var duedate = new Date();
//begin ovulatie x 266 dagen = uitgerekende datum
duedate.setTime(starto.getTime() + daymsecs*266);
document.getElementById('due').value = formatted_date(duedate);
//variabele maken voor de huidige datum
var timenow = new Date();
//tijd die inmiddels verstreken is
var elapsed = Math.round(((timenow.getTime()-starto.getTime())/daymsecs)+(c/2));
var aantalWeken = Math.floor(elapsed/7);
var aantalDagen = Math.floor(elapsed%7);
//als het aantal dagen kleiner is dan 1 worden de dagen niet weergegeven
if (aantalDagen < 1) { document.getElementById('pregnantfor').value = "" + aantalWeken + " weken"; } //voorkomt "1 dagen" else if (aantalDagen == 1) { document.getElementById('pregnantfor').value = "" + aantalWeken + " weken, " + aantalDagen + " dag"; } //anders standaard notering else { document.getElementById('pregnantfor').value = "" + aantalWeken + " weken, " + aantalDagen + " dagen"; } //na 70 dagen gaat trimester 1 in starto.setTime(starto.getTime() + daymsecs*70); document.getElementById('tri1').value = formatted_date(starto); //na 105 dagen gaat trimester 2 in starto.setTime(starto.getTime() + daymsecs*105); document.getElementById('tri2').value = formatted_date(starto); } //functie voor het aantal weken op een bepaalde datum te berekenen function num_weeks() { due_date(); //datum ophalen var d = parseInt(document.getElementById('day1').value); var m = parseInt(document.getElementById('month1').value); var y = parseInt(document.getElementById('year1').value); var date = new Date(); date.setDate(d); date.setMonth(m-1); date.setFullYear(y); //zelfde manier als in functie due_date() var elapsed = Math.round(((date.getTime()-codate.getTime())/daymsecs)+(c/2)); var aantalWeken = Math.floor(elapsed/7); var aantalDagen = Math.floor(elapsed%7); if (aantalDagen < 1) { document.getElementById('weeks1').value = "" + aantalWeken + " weken"; } else if (aantalDagen == 1) { document.getElementById('weeks1').value = "" + aantalWeken + " weken, " + aantalDagen + " dag"; } else { document.getElementById('weeks1').value = "" + aantalWeken + " weken, " + aantalDagen + " dagen"; } } function calc_date() { due_date(); var w = parseInt(document.getElementById('weeks2').value); var date = new Date(); date.setTime(codate.getTime() + daymsecs*7*(w-2)); document.getElementById('date2').value = formatted_date(date); } function co_date() { due_date(); var d = parseInt(document.getElementById('day3').value); var m = parseInt(document.getElementById('month3').value); var y = parseInt(document.getElementById('year3').value); var date = new Date(); date.setDate(d); date.setMonth(m-1); date.setFullYear(y); date.setTime((date.getTime() - daymsecs*267)); document.getElementById('date3').value = formatted_date(date); } function formatted_date(date) { var month = new Array("Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"); return("" + date.getDate() + " " + month[date.getMonth()] + " " + date.getFullYear()); } //functie om dagen te laten zien function dag() { for (var i=1; i<32; i++) { document.write('');
}
}
//funtie om jaren te laten zien, hier kun je de te kiezen jaren aanpassen
function jaar(selectId)
{
var i = 0;
var datum = new Date();
for (i = datum.getFullYear()-1; i < datum.getFullYear()+2; i++) { document.write('');
}
document.getElementById(selectId).selectedIndex = datum.getFullYear();
}
//funtie om maanden te laten zien
function maand()
{
var maandNaam = new Array("", "Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December");
for (var i = 1; i <= 12; i++) { document.writeln('');
}
}