Hallo allemaal,
Ik sta heel wat posts achter, zie ik. Heb ze even diagonaal gelezen, kom er later misschien wel op terug, maar op dit ogenblik zou ik me toch al eens meer specifiek tot lommer willen richten.
Deze zeggen we hier ook al een tijdje :
Het is me wat met die berekeningen. Blijkbaar bestaat hier geen exacte wetenschap voor.
Is het dan niet een beetje tegenstrijdig dat je in je laatste bijlage ook "ExactAge" berekent ?
Ik veronderstel dat het een algoritme is dat je van het internet hebt geplukt. Er zitten wat flagrante missers in.
Uit je eigen voorbeelden :
28/02/2017 tot 1/03/2017 geeft 3 dagen
Het lijkt hier dat vooral februari roet in het eten gooit.
Ook ddiff gaat regelmatig de mist in :
3/02/1980 tot 6/01/2014 geeft 33 jaar 1 maand 3 dagen (een enorme afwijking)
6/10/1948 tot 6/01/2014 geeft 65 jaar 8 maand 31 dagen (idem)
Hier worden de fouten zelfs niet door februari veroorzaakt, maar op het eerste zicht gewoon omdat dag/maand van de begindatum later valt dan dag/maand van de einddatum (dus zonder rekening te houden met het jaar)
Als voor één van deze algoritmes wordt gekozen zullen we ze dus deftig moeten HERdenken.
Ik heb ddif aan uitgebreide tests onderworpen, en tot nu toe geven ze allemaal het resultaat zoals in de beschrijving van de rekenmethode van BlackDevil.
Enkel met de 10 dagen die we in de Middeleeuwen hebben laten vallen zit het nog niet goed.
If DateSerial(Year1, month1, day1) <= DateSerial(1583, 2, 21) And DateSerial(Year2, month2, day2) >= DateSerial(1583, 2, 9) Then days = days - 10
Dit kan een negatieve waarde voor dagen opleveren. Eveneens uit je voorbeeld :
1/02/1583 tot 1/03/1583 = 1 m -10 d
Als we met deze functie verder gaan neem ik momenteel aan dat dit de enige correctie is die we nog moeten inbouwen.
Hoewel, misschien ook deze in overweging nemen :
Mijn vorig bestand heb ik aangepast, de formule voor de schrikkeljaren is verwijderd.
Ik zie toch nog altijd een verschil als ik dezelfde datums uit al dan niet een schrikkeljaar naast elkaar zet (?)
Hou er a.u.b. rekening mee dat niets van bovenstaande als kritiek is bedoeld. Het is een louter prozaïsche vaststelling die kadert in mijn voorstel van eventjes geleden om eerst en vooral eensgezindheid te bereiken over hoe we gaan rekenen.
Groeten,
pitufo