Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import moment from 'moment';
- const getCalendarGrid = (year, month) => {
- let ret = [];
- const firstDayOfMonth = moment([year, month - 1, 1]);
- const firstDayOfMonthIndex = firstDayOfMonth.day();
- // grid row
- let row = [];
- // left padding of the first row with nulls
- for (let i = 1; i < firstDayOfMonthIndex; i++) {
- row.push(null);
- }
- let date = firstDayOfMonth;
- // while we stay in the same month
- while (date.month() === month - 1) {
- // check if this row is already full
- if (row.length === 7) {
- ret.push(row);
- // start new row
- row = [];
- }
- // add current date to the row
- row.push(date.date());
- // next date
- date = date.add(1, 'd')
- }
- // right padding of last row with nulls
- for (let i = row.length; i < 7; i++) {
- row.push(null)
- }
- ret.push(row);
- //
- return ret
- };
- export default getCalendarGrid;
Add Comment
Please, Sign In to add comment