Sanne Geplaatst: 10 januari 2005 Geplaatst: 10 januari 2005 Ik heb 2 datums: [Datum_start] en [Datum_Eind]. Ik wil graag weten hoeveel maanden (op 1 decimaal nauwkeurig) er tussen die 2 datums ligt. Bijvoorbeeld: - tussen 10-01-2005 en 10-01-2006 liggen 12 maanden - tussen 10-02-2005 en 10-01-2006 liggen 11 maanden - tussen 24-02-2005 en 10-01-2006 liggen 10,5 maanden Heeft iemand daar een mooie formule voor? Quote
0 Sanne Geplaatst: 10 januari 2005 Auteur Geplaatst: 10 januari 2005 Ongeduldig als ik ben, heb ik zelf al wat bedacht: Case(not IsEmpty(Datum_Eind) ; Round( ( 12 * ( Year(Datum_Eind) - Year(Datum_Start) ) ) + ( Month(Datum_Eind) - Month(Datum_Start) ) + ( Day(Datum_Eind) - Day(Datum_Start) ) * (1/30) ; 1) ) Kan dit korter? Quote
0 Rony Rabijns Geplaatst: 10 januari 2005 Geplaatst: 10 januari 2005 Je moet ook nog checken of je einddatum wel verder in de toekomst ligt tov de begindatum ... Quote
0 Sanne Geplaatst: 10 januari 2005 Auteur Geplaatst: 10 januari 2005 Nou, het mooie van bovenstaande versie is dat het ook werkt qua: • tussen 10-01-2005 en 10-01-2004 liggen -12 maanden • tussen 10-01-2006 en 10-02-2005 liggen -11 maanden Dat mag wel van mij Quote
0 JeanWM Geplaatst: 10 januari 2005 Geplaatst: 10 januari 2005 ...en met Abs() ben je verlost van het min teken.... Quote
0 Sanne Geplaatst: 12 januari 2005 Auteur Geplaatst: 12 januari 2005 Jean, dat zou zeker werken als je de periode tussen 2 data wilt weten. In mijn geval gaat het niet om de periode, maar om de duur. Dus dan wil ik wel laten weten dat er een negatief getal ontstaat, wanneer de einddatum vóór de begindatum ligt. Dat biedt ook een stukje invoercontrole of feedback voor de invoerder. Alternatief zou zijn om wanneer de einddatum vóór de begindatum ligt, de duur altijd 0 te laten zijn. Quote
0 rgaros Geplaatst: 12 januari 2005 Geplaatst: 12 januari 2005 Ik heb 2 datums: [Datum_start] en [Datum_Eind]. Ik wil graag weten hoeveel maanden (op 1 decimaal nauwkeurig) er tussen die 2 datums ligt. Bijvoorbeeld: - tussen 10-01-2005 en 10-01-2006 liggen 12 maanden - tussen 10-02-2005 en 10-01-2006 liggen 11 maanden - tussen 24-02-2005 en 10-01-2006 liggen 10,5 maanden Heeft iemand daar een mooie formule voor? In dit geval valt halve maanden nog wel mee, maar vooral met leeftijden vraag ik me altijd af waarom iemand de leeftijd in jaren, maanden en dagen wil weten. Immers, maanden zijn niet even lang. Deze (zonder invoercontrole) had ik liggen voor duur in gehele maanden, misschien heb je er wat aan: (Year(datum 2) * 12 + Month(datum 2)) - (Year(datum 1) * 12 + Month(datum 1)) Groet, René Quote
0 Sanne Geplaatst: 12 januari 2005 Auteur Geplaatst: 12 januari 2005 vooral met leeftijden vraag ik me altijd af waarom iemand de leeftijd in jaren, maanden en dagen wil weten Het gaat bij mij niet om leeftijd. Het gaat bij mij om een grove indicatie van de contractduur. En het is heel gebruikelijk om te denken dat zowel: - tussen 10-02-2005 en 10-03-2005 - tussen 15-08-2005 en 15-09-2005 beide de duur "1 maand" is, ook al zijn het niet precies evenveel dagen. Quote
0 rgaros Geplaatst: 12 januari 2005 Geplaatst: 12 januari 2005 Ongeduldig als ik ben, heb ik zelf al wat bedacht: Kan dit korter? Oe, ah, nog wat bedacht: Round((datum 2 - datum 1) / 30 , 1) Ook zonder invoerbeveiliging. Ipv door 30 delen kan je ook door het gemiddeld aantal dagen in een maand (geen schrikkeljaar) delen : 30,4166666666667 Dan kom je precies op de jouw gewenste uitkomsten uit. Houdoe, René Quote
Vraag
Sanne
Ik heb 2 datums: [Datum_start] en [Datum_Eind].
Ik wil graag weten hoeveel maanden (op 1 decimaal nauwkeurig) er tussen die 2 datums ligt.
Bijvoorbeeld:
- tussen 10-01-2005 en 10-01-2006 liggen 12 maanden
- tussen 10-02-2005 en 10-01-2006 liggen 11 maanden
- tussen 24-02-2005 en 10-01-2006 liggen 10,5 maanden
Heeft iemand daar een mooie formule voor?
8 antwoorden op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.