dateadd(value, count, unit) returns datetime

Geeft de datum/tijd plus het aantal maanden - of een andere eenheid - terug.

Functie

Argument Types Omschrijving
value datetime Datum/tijd.
count integer Aantal toe te voegen maanden, of een andere eenheid. Het getal kan positief, 0 of negatief zijn. Het aantal is altijd een geheel getal.
unit string Eenheid. Dit kan een kalendereenheid "year", "quarter", of "month" zijn, of een tijdsduur "day", "hour", "minute" of "second". De functie maakt voor de specificatie van de eenheid geen onderscheid tussen hoofdletters en kleine letters.
Result datetime Een latere of eerdere datum/tijd. De datum/tijd is geldig.

Omschrijving

Geeft de datum/tijd plus het aantal maanden - of een andere eenheid - terug.

De eenheid is een kalendereenheid (jaar, kwartaal, maand) of een tijdsduur (dag, uur, minuut, seconde). Voor een kalendereenheid zoals een maand verandert alleen de maand van de datum, en telt de functie bijvoorbeeld niet ongeveer 30 dagen uur bij de datum/tijd op. Voor een tijdsduur zoals een dag telt de functie een preciese tijdsduur op bij de datum/tijd.

Als het aantal eenheden positief is dan is het resultaat een latere datum/tijd. Als het aantal eenheden negatief is dan is het resultaat een eerdere datum/tijd.

Een datum/tijd plus een aantal maanden is een bijzonder geval. Doordat (in principe) alleen het maandnummer verandert zou een ongeldige datum ontstaan als de functie bijvoorbeeld 30 januari plus 1 maand uitrekent. Het resultaat is in dit geval niet 30 februari maar de dichtstbijzonde geldige datum, 29 of 28 februari.

Voorbeelden

dateadd(datetime(2016, 2, 2), 0, "year") = datetime(2016, 2, 2)
dateadd(datetime(2016, 2, 2), 1, "year") = datetime(2017, 2, 2)
dateadd(datetime(2016, 2, 2), -1, "year") = datetime(2015, 2, 2)
dateadd(datetime(2016, 2, 2), 1, "quarter") = datetime(2016, 5, 2)
dateadd(datetime(2016, 2, 2), -1, "quarter") = datetime(2015, 11, 2)
dateadd(datetime(2016, 2, 2), 1, "month") = datetime(2016, 3, 2)
dateadd(datetime(2016, 1, 29), 1, "month") = datetime(2016, 2, 29)
dateadd(datetime(2016, 1, 30), 1, "month") = datetime(2016, 2, 29)
dateadd(datetime(2016, 2, 2), -2, "month") = datetime(2015, 12, 2)
dateadd(datetime(2016, 2, 2), 3, "day") = datetime(2016, 2, 5)
dateadd(datetime(2016, 2, 2), 27, "day") = datetime(2016, 2, 29)
dateadd(datetime(2016, 2, 2), 28, "day") = datetime(2016, 3, 1)
dateadd(datetime(2016, 2, 2), 4, "hour") = datetime(2016, 2, 2, 4, 0, 0)
dateadd(datetime(2016, 2, 2), -5, "hour") = datetime(2016, 2, 1, 19, 0, 0)
dateadd(datetime(2016, 2, 2), 6, "minute") = datetime(2016, 2, 2, 0, 6, 0)
dateadd(datetime(2016, 2, 2), -7, "minute") = datetime(2016, 2, 1, 23, 53, 0)
dateadd(datetime(2016, 2, 2), 8, "second") = datetime(2016, 2, 2, 0, 0, 8)
dateadd(datetime(2016, 2, 2), -9, "second") = datetime(2016, 2, 1, 23, 59, 51)
dateadd(nil, 0, "year") = nil
dateadd(datetime(2016, 2, 2), nil, "year") = nil
dateadd(datetime(2016, 2, 2), 0, nil) = nil
dateadd(datetime(2016, 2, 2), 0, "jaartje", error: 777) = 777