Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benadamstyles/moment-iterator
moment.js addon for date iteration and formating
https://github.com/benadamstyles/moment-iterator
Last synced: 4 days ago
JSON representation
moment.js addon for date iteration and formating
- Host: GitHub
- URL: https://github.com/benadamstyles/moment-iterator
- Owner: benadamstyles
- Created: 2017-03-15T10:01:04.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-15T10:03:24.000Z (almost 8 years ago)
- Last Synced: 2024-12-03T15:46:23.333Z (20 days ago)
- Language: JavaScript
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Moment-iterator.js
**Moment-iterator** is a [moment-js](http://momentjs.com) addons, to iterate through date range, or create date range.
### Installation
```
npm install moment-iterator --save```
### Few examples
##### Basic example:
```
var momentIterator = require('moment-iterator');var start = new Date(2015, 4, 12);
var end = new Date(2015, 10, 2);momentIterator(start, end).each('months', function(d) {
console.log('-->', d.format('LL'))
})// --> May 12, 2015
// --> June 12, 2015
// --> July 12, 2015
// --> August 12, 2015
// --> September 12, 2015
// --> October 12, 2015```
##### Using custom step:
```momentIterator(start, end).each('4 hours', function(d) {
console.log('-->', d)
})// --> Tuesday, May 12, 2015 12:00 AM
// --> Tuesday, May 12, 2015 4:00 AM
// --> Tuesday, May 12, 2015 8:00 AM
// ...```
##### toObject:
```
momentIterator(start, end).each('3 months', console.log, {
toObject: true
});// { years: 2015, months: 4, date: 12, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 }
// { years: 2015, months: 7, date: 12, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 }```
##### trailling/leading date:
```
momentIterator(start, end).each('3 months', console.log, {
toObject: true,
leading: false,
trailing: true
});// { years: 2015, months: 7, date: 12, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 }
// { years: 2015, months: 10, date: 12, hours: 0, minutes: 0, seconds: 0, milliseconds: 0 }```
##### formating date:```
var range = momentIterator(start, end).range('months', {
format:'LLL'
})
console.log(range)// [ 'May 12, 2015 12:00 AM',
// 'June 12, 2015 12:00 AM',
// 'July 12, 2015 12:00 AM',
// 'August 12, 2015 12:00 AM',
// 'September 12, 2015 12:00 AM',
// 'October 12, 2015 12:00 AM' ]```
### Options
```
{
toDate:Boolean // callback javascript date,
toObject // callback javascript plain object,
format:String // callback momentjs formated string,
trailling:Boolean // Specify invoking on the trailling edge of the range, (default true)
leading:Boolean // Specify invoking on the leading edge of the range. (default false)
}```