Skip to content

Commit

Permalink
Fix week numbers for non us locales. (#2080)
Browse files Browse the repository at this point in the history
Leverage date-fns getWeek function to get correct week numbers.
  • Loading branch information
PolarbearDK committed Mar 7, 2020
1 parent 88c4466 commit b33956b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
9 changes: 4 additions & 5 deletions src/date_utils.js
Expand Up @@ -18,6 +18,7 @@ import getMinutes from "date-fns/getMinutes";
import getHours from "date-fns/getHours";
import getDay from "date-fns/getDay";
import getDate from "date-fns/getDate";
import dfgetWeek from "date-fns/getWeek";
import getMonth from "date-fns/getMonth";
import getQuarter from "date-fns/getQuarter";
import getYear from "date-fns/getYear";
Expand Down Expand Up @@ -190,11 +191,9 @@ export {
getTime
};

export function getWeek(date) {
if (!isSameYear(endOfWeek(date), date)) {
return 1;
}
return differenceInCalendarWeeks(date, startOfYear(date)) + 1;
export function getWeek(date, locale) {
let localeObj = (locale && getLocaleObject(locale)) || (getDefaultLocale() && getLocaleObject(getDefaultLocale()));
return dfgetWeek(date, localeObj ? { locale: localeObj } : null);
}

export function getDayOfWeekCode(day, locale) {
Expand Down
2 changes: 1 addition & 1 deletion src/week.jsx
Expand Up @@ -73,7 +73,7 @@ export default class Week extends React.Component {
if (this.props.formatWeekNumber) {
return this.props.formatWeekNumber(date);
}
return utils.getWeek(date);
return utils.getWeek(date, this.props.locale);
};

renderDays = () => {
Expand Down

0 comments on commit b33956b

Please sign in to comment.