Random Weekday Date Set Generator

Uniformly sample actual supplied eligible weekdaydates, 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

Weekday filtering depends on real supplied dates and an explicit weekday convention.

Weekday filtering depends on real supplied dates and an explicit weekday convention.1

Sampling eligible dates avoids deriving a calendar from the machine clock or assuming business-day eligibility.

When to use Random Weekday Date Set Generator

Use this tool when you need to produce the reproducible draw or model experiment described below. Prepare the seed and the exact inventory or scenario inputs described below. Keep units, reference edition, and sampling convention explicit.

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

  1. Prepare the seed and the exact inventory or scenario inputs described below. Keep units, reference edition, and sampling convention explicit.
  2. Enter seed, count, withoutReplacement, candidateDates, callerWeekdayNumber, following the field table and calculation rules below, then run the tool.
  3. Read result. Inspect the nested fields in the output table below and keep any missing evidence or selected indices visible.
  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
seedNonblank reproducibility seed; default seeded runs restart for each requeststringRequired
countNumber of simulated replicatessafe integer from 1 to 64Required
withoutReplacementTrue draws distinct entry positions; false permits repeated positionsbooleanRequired
candidateDatesCandidate dateslist of stringRequired
callerWeekdayNumberCaller weekday numbernumberRequired

Provide unique real civil YYYY-MM-DD dates and an ISO weekday safe integer from 1 Monday through 7 Sunday. Validate every date with the date helper, use date/weekday to filter exact matches, and draw from the eligible list under the common sampling rules below. Return eligible, excluded, and selected dates with indices relative to the eligible list; no eligible dates is an error.2, 3, 4

Use a nonblank seed of at most 256 UTF-16 units and a safe-integer count from 1 to 64. 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). 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={date:ISOweekday(date)=query}; selected=sample(eligible)

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

Output fieldMeaningValue type
resultObject containing the fields belowobject
result.datesDateslist
result.eligibleCandidateDatesEligible Candidate Dateslist
result.excludedCandidateDatesExcluded Candidate Dateslist
result.eligibleEntryIndicesEligible Entry Indiceslist
json
{
  "input": {
    "seed": "tool.io/batch42",
    "count": 1,
    "withoutReplacement": true,
    "candidateDates": [
      "2026-01-05",
      "2026-01-12"
    ],
    "callerWeekdayNumber": 1
  },
  "output": {
    "result": {
      "dates": [
        "2026-01-12"
      ],
      "eligibleCandidateDates": [
        "2026-01-05",
        "2026-01-12"
      ],
      "excludedCandidateDates": [],
      "eligibleEntryIndices": [
        1
      ]
    }
  }
}

Limitations and assumptions

The default source is deterministic pseudorandomness, not an independently audited or secure draw. Replacement applies to inventory positions; distinct positions may render identically or yield equal answers. Review the supplied inventory or scenario domain independently before interpreting the sample.

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. 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 Month Boundary Exercise Generator: Month-boundary calculations depend on the supplied civil-date convention. Sampling date scenarios and computing both boundaries produces matched start and end reference answers. For a complementary step, use Random Waiting-Time Experiment Generator: Exponential waiting-time simulations use a declared rate whose reciprocal is the model mean. Simulated observations describe that model rather than actual service or event delays.

References

  1. Random Weekday 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 Month Boundary Exercise Generator

    Month-boundary calculations depend on the supplied civil-date convention. Sampling date scenarios and computing both boundaries produces matched start and end reference answers.

  • Random Waiting-Time Experiment Generator

    Exponential waiting-time simulations use a declared rate whose reciprocal is the model mean. Simulated observations describe that model rather than actual service or event delays.

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