chronia
    Preparing search index...

    Function isBefore

    • Check if the first date is strictly before the second date.

      This function compares two dates and returns true if the first date is chronologically before the second date. The comparison can be performed at different granularities (year, month, day, hour, minute, second, or millisecond).

      Parameters

      • a: number | Date

        The first date as a Date object or timestamp (number)

      • b: number | Date

        The second date as a Date object or timestamp (number)

      • Optionalopts: { unit?: TimeUnit }

        Optional configuration object

        • Optionalunit?: TimeUnit

          The unit of comparison (year, month, day, hour, minute, second, millisecond). Defaults to "millisecond"

      Returns boolean

      True if date a is before date b, false otherwise or if either date is invalid

      // Basic comparison (millisecond precision)
      const result = isBefore(new Date(2025, 0, 1), new Date(2025, 0, 2));
      // Returns: true

      // Compare at year granularity
      const result2 = isBefore(
      new Date(2024, 11, 31),
      new Date(2025, 0, 1),
      { unit: "year" }
      );
      // Returns: true

      // Works with timestamps
      const result3 = isBefore(Date.now() - 1000, Date.now());
      // Returns: true (1 second ago is before current time)

      // Equality returns false (not strictly before)
      const date = new Date(2025, 0, 1);
      const result4 = isBefore(date, date);
      // Returns: false

      // Invalid dates return false
      const result5 = isBefore(new Date("invalid"), new Date(2025, 0, 1));
      // Returns: false
      • Validates arguments before processing (consistent with library patterns)
      • Returns false for any invalid input (Invalid Date, NaN, Infinity, -Infinity)
      • Accepts both Date objects and numeric timestamps
      • Equality is not considered "before" (strict comparison)
      • When using unit-based comparison, dates are truncated to the specified unit before comparing
      • Unit comparison example: comparing by "day" ignores hours, minutes, seconds, and milliseconds