Skip to content

Instantly share code, notes, and snippets.

@kmaida
Last active April 26, 2017 15:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kmaida/5f1044c4d840aca11073f569a4a1777d to your computer and use it in GitHub Desktop.
Save kmaida/5f1044c4d840aca11073f569a4a1777d to your computer and use it in GitHub Desktop.
Generate random dates within a range
/**
* Generate a random date between now and one year from now
* With a time between 7am and 8pm
* Minutes on the full hour :00
* @returns {Date}
*/
function randomDate() {
var start = new Date();
var end = new Date(new Date().setFullYear(start.getFullYear() + 1));
var date = new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
var hour = 7 + Math.random() * (20 - 7) | 0;
date.setHours(hour);
date.setMinutes(0);
return date;
}
/**
* Generate a random date between a start and end date
* Set a start and end hour
* @param startDate {Date}
* @param endDate {Date}
* @param startHour {Integer} 0-23
* @param endHour {Integer} 0-23
* @returns {Date}
*/
function randomDate(startDate, endDate, startHour, endHour) {
var date = new Date(startDate.getTime() + Math.random() * (endDate.getTime() - startDate.getTime()));
var hour = startHour + Math.random() * (endHour - startHour) | 0;
date.setHours(hour);
date.setMinutes(0);
return date;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment