Можно добавить рандом для конечных точек. Конечные точки считаются без рандома, смещение добавляется потом.
Размер рандома и знак смещения будут рассчитаны на основе требуемого шага.
Стартовая и финишная даты включаются в результаты.
Если между датами секунд будет меньше чем шагов, получится странь.