Ik heb een systeem waarbij de dagen nu fout worden opgeteld.
Om te laten zien wat er fout gaat hier de pagina:
http://tigermedia.nl/klanten/mantravel/hotelboeking/
Kies maar een Datum van vertrekken en vul dan bij Aantal dagen iets in.
Dan zie je de vertrek datum, maar dit gaat dus fout.
De vertrekdatum wordt als volgt berekend (alleen relevante code meegepost):
Bij sommige maanden werkt het goed, maar bij de maanden: Feb, April, Juni, Sept , Nov en December komt er ineens +1 bij de vertrek maand datum.
En als je bij deze maanden op de laatste dag van de maand als begindatum kiest (bijv. 30-06), en dan 5 dagen doet. Dan springt de einddatum ineens een maand verder naar augustus.
Al deze maanden hebben 30 dagen. (behalve februari dan)
Ik zit al de hele ochtend + middag te testen waar de fout nou precies zit. Maar ik ben er nog steeds niet uit.
Snapt iemand van jullie het?
Om te laten zien wat er fout gaat hier de pagina:
http://tigermedia.nl/klanten/mantravel/hotelboeking/
Kies maar een Datum van vertrekken en vul dan bij Aantal dagen iets in.
Dan zie je de vertrek datum, maar dit gaat dus fout.
De vertrekdatum wordt als volgt berekend (alleen relevante code meegepost):
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| function checkDays(id) { var obj = document.getElementById(id); // nummer is oke var startdatumobj = document.getElementById("datumvanvertrek"); var einddatumobj = document.getElementById("vertrekdatum"); var parts = startdatumobj.value.split('-'); var maxDagen = get_maxdagen(parts[2], parts[1]); var dag=strip_nul(parts[0]); var maand=strip_nul(parts[1]); var jaar=strip_nul(parts[2]); var dagnummer = parseInt(dag) + parseInt(obj.value) - 1 // We doen -1 omdat we alleen de dagen willen ipv de nachten //bepaal einddatum var einddatum = new Date() einddatum.setMonth(maand-1) einddatum.setFullYear(jaar) einddatum.setDate(dagnummer) //geef einddatum terug einddatumobj.value = einddatum.getDate() + "-" + ( einddatum.getMonth() + 1 ) + "-" + einddatum.getFullYear() o(id); o("vertrekdatum"); formobj[id]=true; return 2; } |
Bij sommige maanden werkt het goed, maar bij de maanden: Feb, April, Juni, Sept , Nov en December komt er ineens +1 bij de vertrek maand datum.
En als je bij deze maanden op de laatste dag van de maand als begindatum kiest (bijv. 30-06), en dan 5 dagen doet. Dan springt de einddatum ineens een maand verder naar augustus.
Al deze maanden hebben 30 dagen. (behalve februari dan)
Ik zit al de hele ochtend + middag te testen waar de fout nou precies zit. Maar ik ben er nog steeds niet uit.
Snapt iemand van jullie het?
[ Voor 12% gewijzigd door DNA_Saint op 31-03-2009 14:57 ]
Huub Huub Barbatruc!