Skip to content

Instantly share code, notes, and snippets.

@utlime
Created October 6, 2023 12:54
Show Gist options
  • Save utlime/b54677f3ebd9dd7558b524c9031e33d6 to your computer and use it in GitHub Desktop.
Save utlime/b54677f3ebd9dd7558b524c9031e33d6 to your computer and use it in GitHub Desktop.
/**
* @param {number} year
* @return {Date}
*/
function getBlackFridayDate(year) {
const date = new Date(year, 10, 1); // first day of November
const day = date.getDay();
if (day < 4) {
date.setDate(date.getDate() + (4 - day)); // first Thusday of November
} else if (day > 4) {
date.setDate(date.getDate() + 7 - (day - 4)); // first Thusday of November
}
date.setDate(date.getDate() + 7 * 3 + 1); // fourth Friday of November
return date;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment