fdu logo@pyyupsk/fdu - Faster Date-Time Utility
API ReferenceComparison

isSameOrAfter()

Check if a date is the same as or after another date with optional granularity. Ideal for availability checking, future date validation, and filtering upcoming events.

Checks if this date is the same as or after another date, optionally at a specific granularity.

Syntax

.isSameOrAfter(other: FduInstance, unit?: UnitType): boolean

Parameters

  • other: FduInstance - Date to compare with
  • unit?: UnitType - Optional unit for granularity comparison

Returns

boolean - True if this date is the same as or after the other date

Examples

Basic Comparison

import { fdu } from "@pyyupsk/fdu";

const date1 = fdu("2024-01-20");
const date2 = fdu("2024-01-15");
const date3 = fdu("2024-01-20");

date1.isSameOrAfter(date2); // true (after)
date1.isSameOrAfter(date3); // true (same)
date2.isSameOrAfter(date1); // false (before)

Granular Comparison

Compare at specific units of time:

const date1 = fdu("2024-01-15T14:45:00");
const date2 = fdu("2024-01-15T10:30:00");

date1.isSameOrAfter(date2, "day");    // true (same day)
date1.isSameOrAfter(date2, "hour");   // true (14 >= 10)
date1.isSameOrAfter(date2, "month");  // true (same month)

Availability Checking

function isAvailable(date: FduInstance, startDate: FduInstance): boolean {
  return date.isSameOrAfter(startDate, "day");
}

const requestedDate = fdu("2024-01-20");
const availableFrom = fdu("2024-01-15");

isAvailable(requestedDate, availableFrom); // true

Future Date Validation

function isFutureOrToday(date: FduInstance): boolean {
  return date.isSameOrAfter(fdu(), "day");
}

const eventDate = fdu("2024-12-25");
isFutureOrToday(eventDate); // true if today is before or on Dec 25, 2024

Filter Upcoming Events

const events = [
  { date: fdu("2024-01-10"), name: "Past Event" },
  { date: fdu("2024-01-15"), name: "Today Event" },
  { date: fdu("2024-01-20"), name: "Future Event" },
];

const today = fdu("2024-01-15");
const todayOrFuture = events.filter((e) => e.date.isSameOrAfter(today, "day"));
// [Today Event, Future Event]

Age Verification

function isOldEnough(birthdate: FduInstance, minimumAge: number): boolean {
  const minimumBirthdate = fdu().subtract(minimumAge, "year");
  return minimumBirthdate.isSameOrAfter(birthdate, "day");
}

const userBirthdate = fdu("2000-05-15");
isOldEnough(userBirthdate, 21); // true if user is 21 or older

Supported Units

  • year / y - Same or later calendar year
  • month / M - Same or later calendar month
  • day / d - Same or later calendar day
  • hour / h - Same or later hour
  • minute / m - Same or later minute
  • second / s - Same or later second

See Also

On this page