Neanderthal Painting Monet

    date-period

    4.0.0 • Public • Published

    date-period ci

    Time period iterator.

    A time period in this context is an array of Date objects, recurring at regular intervals, over a given period. Based on ISO 8601's duration and repeating interval format.

    Mimics PHP's excellent DatePeriod class.

    Installation

    $ npm install date-period --save

    Use

    API

    Start, duration and end date:

    createPeriod({ start: Date, duration: String, end: Date }) ⇒ Array<Date>

    Start, duration, and number of recurrences:

    createPeriod({ start: Date, duration: String, recurrence: Number }) ⇒ Array<Date>

    ISO 8601 Repeating time intervals:

    createPeriod({ iso: String }) ⇒ Array<Date>

    Note: the date and duration parameters above can be objects which have, respectively, toDate and toString methods. This way moment objects are supported.

    Example

    Require the module

    const createPeriod = require('date-period');

    Define a period

    let start = new Date('2014-01-01T00:00:00Z'),
    	duration = 'P1D',
    	end = new Date('2014-01-05T00:00:00Z'), // not included in result
    	period;
    
    period = createPeriod({ start, duration, end });
    
    // or, with the number of recurrences instead of an end date:
    period = createPeriod({ start, duration, recurrence: 3 });
    
    // or, with a string formatted as an ISO 8601 repeating interval:
    period = createPeriod({ iso: 'R3/2014-01-01T00:00:00Z/P1D' });

    Install

    npm i date-period

    DownloadsWeekly Downloads

    351

    Version

    4.0.0

    License

    MIT

    Unpacked Size

    6.4 kB

    Total Files

    4

    Last publish

    Collaborators

    • smhg