1.1 KiB
1.1 KiB
title, type, language, tags, author, cover, dateModified
| title | type | language | tags | author | cover | dateModified | |
|---|---|---|---|---|---|---|---|
| Week of year | snippet | javascript |
|
chalarangelo | godray-computer-mug | 2021-08-15T05:00:00-04:00 |
Returns the zero-indexed week of the year that a date corresponds to.
- Use the
Dateconstructor andDate.prototype.getFullYear()to get the first day of the year as aDateobject. - Use
Date.prototype.setDate(),Date.prototype.getDate()andDate.prototype.getDay()along with the modulo (%) operator to get the first Monday of the year. - Subtract the first Monday of the year from the given
dateand divide with the number of milliseconds in a week. - Use
Math.round()to get the zero-indexed week of the year corresponding to the givendate. -0is returned if the givendateis before the first Monday of the year.
const weekOfYear = date => {
const startOfYear = new Date(date.getFullYear(), 0, 1);
startOfYear.setDate(startOfYear.getDate() + (startOfYear.getDay() % 7));
return Math.round((date - startOfYear) / (7 * 24 * 3600 * 1000));
};
weekOfYear(new Date('2021-06-18')); // 23