What happens if my start date is after my end date?
The two bounds are sorted, so the earlier one is used as the start and the later one as the end. You get a valid set of dates from the range you implied rather than an error or an empty output, which means a typo in the year can quietly widen your range without warning.
Is the Unix timestamp in seconds or milliseconds?
Seconds, which is the POSIX convention used by most APIs, databases, and command-line tools. JavaScript's Date.now() returns milliseconds, so if you paste one of these into a JavaScript Date constructor without multiplying by 1000 you will land in January 1970.
Are the dates evenly distributed?
Yes, uniformly across the whole millisecond interval between the two bounds. There is no weighting, so weekends, holidays, and 3 a.m. are all as likely as any other moment. If your test needs business days only, filter the output afterwards.
Which time zone are the dates in?
UTC. The bounds are parsed as UTC midnight and every part of the output is formatted with the UTC accessors, so the same inputs give the same dates for a tester in Tokyo and one in Los Angeles. Only the ISO date-time format shows an explicit Z suffix, but all of them are UTC.
Can I get unique dates with no repeats?
No. Each date is drawn independently, so repeats are possible and are common when you ask for many dates inside a narrow window. De-duplicate afterwards, or widen the range so that collisions become unlikely.