UNPKG

calendar-month

Version:

vanillajs month data handler

183 lines (158 loc) 5.92 kB
calendar-month ============== [![npm](https://img.shields.io/npm/v/calendar-month.svg)](https://www.npmjs.com/package/calendar-month) [![Build Status](https://travis-ci.org/kiltjs/month.svg?branch=master)](https://travis-ci.org/kiltjs/month) > node ``` sh npm i calendar-month --save ``` > bower ``` sh bower i calendar-month --save ``` #### Examples ``` js var Month = require('./month'); // startDay to set Monday as first week day Month.setFirstWeekDay(1); // months from 0 (january) ... to 11 (december) new Month(2017, 5); ``` > returns: ``` js Month { meta: { date: '2017-06-01T00:00:00.000Z', last_day: 31, last_week_day: 3, week_day: 4, month_last_day: '2017-06-30T00:00:00.000Z' }, year: 2017, month: 5, days: [ { date: 29, month: 4, year: 2017, previous: true }, { date: 30, month: 4, year: 2017, previous: true }, { date: 31, month: 4, year: 2017, previous: true }, { date: 1, month: 5, year: 2017, current: true }, { date: 2, month: 5, year: 2017, current: true }, { date: 3, month: 5, year: 2017, current: true }, { date: 4, month: 5, year: 2017, current: true }, { date: 5, month: 5, year: 2017, current: true }, { date: 6, month: 5, year: 2017, current: true }, { date: 7, month: 5, year: 2017, current: true }, { date: 8, month: 5, year: 2017, current: true }, { date: 9, month: 5, year: 2017, current: true }, { date: 10, month: 5, year: 2017, current: true }, { date: 11, month: 5, year: 2017, current: true }, { date: 12, month: 5, year: 2017, current: true }, { date: 13, month: 5, year: 2017, current: true }, { date: 14, month: 5, year: 2017, current: true }, { date: 15, month: 5, year: 2017, current: true }, { date: 16, month: 5, year: 2017, current: true }, { date: 17, month: 5, year: 2017, current: true }, { date: 18, month: 5, year: 2017, current: true }, { date: 19, month: 5, year: 2017, current: true }, { date: 20, month: 5, year: 2017, current: true }, { date: 21, month: 5, year: 2017, current: true }, { date: 22, month: 5, year: 2017, current: true }, { date: 23, month: 5, year: 2017, current: true }, { date: 24, month: 5, year: 2017, current: true }, { date: 25, month: 5, year: 2017, current: true }, { date: 26, month: 5, year: 2017, current: true }, { date: 27, month: 5, year: 2017, current: true }, { date: 28, month: 5, year: 2017, current: true }, { date: 29, month: 5, year: 2017, current: true }, { date: 30, month: 5, year: 2017, current: true }, { date: 1, month: 6, year: 2017, next: true }, { date: 2, month: 6, year: 2017, next: true }, { date: 3, month: 6, year: 2017, next: true }, { date: 4, month: 6, year: 2017, next: true }, { date: 5, month: 6, year: 2017, next: true }, { date: 6, month: 6, year: 2017, next: true }, { date: 7, month: 6, year: 2017, next: true }, { date: 8, month: 6, year: 2017, next: true }, { date: 9, month: 6, year: 2017, next: true } ] } ``` ##### `previous()`, `next()` ``` js var Month = require('./month'); // months from 0 (january) ... to 11 (december) var m = new Month(2017, 5); m.previous(); // return equivalent to `new Month(2017, 4)` m.next(); // return equivalent to `new Month(2017, 6)` ``` ##### `getColumns()` > dates grouped by day of week ``` js var Month = require('./month'); // startDay to set Sunday as first week day (default) Month.setFirstWeekDay(0); // months from 0 (january) ... to 11 (december) new Month(2017, 5).getColumns(); ``` > returns: ``` js [ [ { date: 28, month: 4, year: 2017, previous: true }, { date: 4, month: 5, year: 2017, current: true }, { date: 11, month: 5, year: 2017, current: true }, { date: 18, month: 5, year: 2017, current: true }, { date: 25, month: 5, year: 2017, current: true }, { date: 2, month: 6, year: 2017, next: true } ], [ { date: 29, month: 4, year: 2017, previous: true }, { date: 5, month: 5, year: 2017, current: true }, { date: 12, month: 5, year: 2017, current: true }, { date: 19, month: 5, year: 2017, current: true }, { date: 26, month: 5, year: 2017, current: true }, { date: 3, month: 6, year: 2017, next: true } ], [ { date: 30, month: 4, year: 2017, previous: true }, { date: 6, month: 5, year: 2017, current: true }, { date: 13, month: 5, year: 2017, current: true }, { date: 20, month: 5, year: 2017, current: true }, { date: 27, month: 5, year: 2017, current: true }, { date: 4, month: 6, year: 2017, next: true } ], [ { date: 31, month: 4, year: 2017, previous: true }, { date: 7, month: 5, year: 2017, current: true }, { date: 14, month: 5, year: 2017, current: true }, { date: 21, month: 5, year: 2017, current: true }, { date: 28, month: 5, year: 2017, current: true }, { date: 5, month: 6, year: 2017, next: true } ], [ { date: 1, month: 5, year: 2017, current: true }, { date: 8, month: 5, year: 2017, current: true }, { date: 15, month: 5, year: 2017, current: true }, { date: 22, month: 5, year: 2017, current: true }, { date: 29, month: 5, year: 2017, current: true }, { date: 6, month: 6, year: 2017, next: true } ], [ { date: 2, month: 5, year: 2017, current: true }, { date: 9, month: 5, year: 2017, current: true }, { date: 16, month: 5, year: 2017, current: true }, { date: 23, month: 5, year: 2017, current: true }, { date: 30, month: 5, year: 2017, current: true }, { date: 7, month: 6, year: 2017, next: true } ], [ { date: 3, month: 5, year: 2017, current: true }, { date: 10, month: 5, year: 2017, current: true }, { date: 17, month: 5, year: 2017, current: true }, { date: 24, month: 5, year: 2017, current: true }, { date: 1, month: 6, year: 2017, next: true }, { date: 8, month: 6, year: 2017, next: true } ] ] ```