Skip to content

Instantly share code, notes, and snippets.

@sererejegede
Created December 12, 2021 07:12
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 sererejegede/89be57e02e34b7ece29f9fe29ba883f3 to your computer and use it in GitHub Desktop.
Save sererejegede/89be57e02e34b7ece29f9fe29ba883f3 to your computer and use it in GitHub Desktop.
Get any date for the day of the week for passed date.
type WeekDays = 0 | 1 | 2 | 3 | 4 | 5 | 6
export function getDayDate(date: Date | string, weekDay: WeekDays) {
const _date = new Date(date)
const day = _date.getDay()
if (day === weekDay) return _date
const diff =
(day === 0 || day - weekDay === 0
? weekDay - 7
: weekDay === 0
? weekDay + 7
: weekDay) +
_date.getDate() -
day
_date.setDate(diff)
return _date
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment