Random Business Date Set Generator

Uniformly sample actual supplied eligible businessdates, not dates inferred from the machine clock. Caller business weekdays/holiday calendar or exact ISO weekday is explicit; leap-day candidates must be real civil February29dates. Infeasible empty inventories or excessive unique requests fail. No jurisdiction-specific trading or business-day inference.

Description

A business-date calendar depends on explicitly chosen working weekdays and holidays.

A business-date calendar depends on explicitly chosen working weekdays and holidays.1

This generator filters supplied candidate dates against that caller calendar and samples only the eligible dates.

When to use Random Business Date Set Generator

Use this tool when you need to produce the reproducible draw or model experiment described below. Prepare a reproducible seed and the inventory, corpus, or experiment parameters stated below.

How to use Random Business Date Set Generator and understand its results

  1. Prepare a reproducible seed and the inventory, corpus, or experiment parameters stated below.
  2. Enter seed, count, withoutReplacement, candidateDates, callerBusinessWeekdayNumbers, callerHolidayDates, following the field table and calculation rules below, then run the tool.
  3. Read result. For result objects, inspect the nested output fields below, including any missing evidence or selected indices.
  4. Correct any input issues and run again. Before using a successful result, review its units, signs, evidence coverage, and stated model or reference assumptions.
Input fieldMeaningValue typeRequirement
seedRequired nonblank deterministic seed; the SDK can replace the source with context.random.stringRequired
countNumber of draws, cards, trials, or output entries under the tool-specific rule; safe integer 1–64 with any narrower inventory bound.numberRequired
withoutReplacementTrue removes selected inventory positions; false permits repeated positions. Equal rendered values or answers can still occur.booleanRequired
candidateDatesCandidate dateslist of stringRequired
callerBusinessWeekdayNumbersCaller business weekday numberslist of numberRequired
callerHolidayDatesCaller holiday dateslist of stringRequired

Validate unique candidateDates and every holiday as real YYYY-MM-DD dates. Require unique ISO weekday numbers from one through seven, with Monday one. Calculate each candidate’s weekday with the imported calculator, retain allowed weekdays not present in callerHolidayDates, and sample the filtered inventory. Return eligible/excluded lists and eligibleEntryIndices; an empty eligible set fails.2, 3, 4

Use a nonblank seed of at most 256 UTF-16 units and a safe-integer count from 1 to 64, subject to the tool’s narrower inventory bound. By default the seed is hashed into a deterministic pseudorandom state; each run restarts that state, so identical full inputs and implementation reproduce the result. The SDK may provide context.random, which replaces the seeded source and advances across the request; the seed remains required. Every source value must be finite in [0,1), with a request limit of 100000 source calls. Draw an index as floor(U×remainingSize). For indexed inventory draws, with replacement draw from the full inventory each time; without replacement remove each chosen position from an ordered pool and reject counts exceeding the inventory size. Uniform-source draws are over positions, not necessarily distinct values. This is not secure randomness.

eligible=dates with weekday∈businessWeekdays and date∉holidays

Read these symbols with the field meanings and branch or reference rules above.

Output fieldMeaningValue type
resultComposite output; read its nested fields and the worked example.object
result.datesdateslist
result.eligibleCandidateDateseligible Candidate Dateslist
result.excludedCandidateDatesexcluded Candidate Dateslist
result.eligibleEntryIndicesZero-based positions in the filtered eligibleCandidateDates list, rather than the original candidate list.list
json
{
  "input": {
    "seed": "tool.io/batch42",
    "count": 1,
    "withoutReplacement": true,
    "candidateDates": [
      "2026-01-02",
      "2026-01-05"
    ],
    "callerBusinessWeekdayNumbers": [
      1,
      2,
      3,
      4,
      5
    ],
    "callerHolidayDates": [
      "2026-01-01"
    ]
  },
  "output": {
    "result": {
      "dates": [
        "2026-01-05"
      ],
      "eligibleCandidateDates": [
        "2026-01-02",
        "2026-01-05"
      ],
      "excludedCandidateDates": [],
      "eligibleEntryIndices": [
        1
      ]
    }
  }
}

Limitations and assumptions

The supplied calendar is not independently verified or tied to a jurisdiction, exchange, or organization. No dates beyond the candidate list are generated.

Missing required fields, unknown fields, wrong types, and violated calculation rules return input issues. Numeric values must be finite; nonfinite numeric outputs are rejected. Arrays must be dense, with no missing cells. Numeric lists allow at most 10000 entries, subject to smaller tool-specific bounds above. Ordinary string lists allow at most 128 strings of at most 128 UTF-16 units each. Extremely large composite outputs are rejected.

Alternative or Complementary methods

For a related task, use Random Leap-Day Date Set Generator: February 29 occurs only in leap years under the civil Gregorian calendar. This generator validates supplied dates and samples the actual leap-day subset, so it never guesses a year or draws from the machine clock. For a complementary step, use Random Date Arithmetic Exercise Generator: Calendar-day arithmetic adds a signed whole-day offset to a date. These exercises sample supplied dates and offsets using the imported UTC calendar representation, without a business-day or holiday calendar.

References

  1. Random Business Date Set Generator — tool.io

  2. Calculation or validation: date/iso-weekday — tool.io

  3. Calculation or validation: random/seeded-number — tool.io

  4. Calculation or validation: random/number — tool.io

Similar or alternative tools

  • Random Leap-Day Date Set Generator

    February 29 occurs only in leap years under the civil Gregorian calendar. This generator validates supplied dates and samples the actual leap-day subset, so it never guesses a year or draws from the machine clock.

  • Random Date Arithmetic Exercise Generator

    Calendar-day arithmetic adds a signed whole-day offset to a date. These exercises sample supplied dates and offsets using the imported UTC calendar representation, without a business-day or holiday calendar.

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies