difference

import { difference } from "jsr:@ende/datetime";

function

function difference(from: Date, to: Date, options?: DifferenceOptions): DifferenceFormat

Calculates the difference of the 2 given dates in various units. If the units are omitted, it returns the difference in the all available units.

from: Date

Year to calculate difference from.

to: Date

Year to calculate difference to.

options?: DifferenceOptions

Options such as units to calculate difference in.

Returns

The difference of the 2 given dates in various units.

Example: Basic usage

import { difference } from "@ende/datetime/difference";
import { assertEquals } from "@ende/assert";

const date0 = new Date("2018-05-14");
const date1 = new Date("2020-05-13");

assertEquals(difference(date0, date1), {
  milliseconds: 63072000000,
  seconds: 63072000,
  minutes: 1051200,
  hours: 17520,
  days: 730,
  weeks: 104,
  months: 23,
  quarters: 7,
  years: 1
});

Example: Calculate difference in specific units

The units option defines which units to calculate the difference in.

import { difference } from "@ende/datetime/difference";
import { assertEquals } from "@ende/assert";

const date0 = new Date("2018-05-14");
const date1 = new Date("2020-05-13");

const result = difference(date0, date1, { units: ["days", "months", "years"] });

assertEquals(result, {
  days: 730,
  months: 23,
  years: 1
});

Source