Skip to content

subtractDateTime

subtractDateTime(value: string, units: Partial<Record<DateTimeDurationUnit, number>>, options?: { overflow?: Overflow; }): string
import { subtractDateTime } from "@northguild/gmt/plain/calculate";

Return a PlainDateTime ISO string with units subtracted from value.

  • Validates value, units, and amount before performing the subtract.
  • Returns “” for invalid inputs. overflow (“constrain” (default) | “reject”) controls out-of-range results, e.g. subtracting 1 month from Mar 31: “constrain” clamps to Feb 29/28, “reject” throws (resulting in “”).
Parameter Type Description
value string ISO PlainDateTime string
units Partial&lt;Record&lt;DateTimeDurationUnit, number&gt;&gt; Partial<Record<DateTimeDurationUnit, number>> object specifying units to subtract

options

Option Type Default
overflow? Overflow

ISO PlainDateTime string after subtraction, or “” on invalid input

subtractDateTime("2024-03-15T12:00:00", { days: 5 }) // "2024-03-10T12:00:00"
subtractDateTime("invalid", { days: 5 }) // ""
subtractDateTime("2024-03-31T12:00:00", { months: 1 }, { overflow: "reject" }) // ""

plain/calculate/subtractDateTime.ts