Nondeterministic Programming Methodology
    Wondering what’s next for npm?Check out our public roadmap! »

    betterdate

    0.0.5 • Public • Published

    BetterDate

    BetterDate is a JavaScript class just like the built-in Date, except:

    • Numeric month values are one-indexed like year and date (there is no year, month, or day zero), instead of zero-indexed.
    • Values can be modified with relative values using add* functions, instead of being absolute requiring both a set* and get* to be called to modify by a delta.
    • The time zone offset is modifiable, instead of being unmodifiable without modifying the interpretor's environment.
    • The time zone name is accessible as a separate property and is modifiable, instead of being, inaccessible and unmodifiable without modifying the interpretor's environment.
    • Week of the year information is accessible (as a fractional week, Math.floor the result for whole weeks or Math.ceil the result for ordinal/partial weeks).
    • Leap year information is available on instances for the year represented and on the class for any year in question.
    • Day of the week is still zero-indexed.
    let betterDate = new BetterDate();

    The '1' is one-indexed to intuitively mean 'January', not zero-indexed to mean 'February'.

    betterDate = new BetterDate( 2017, 1, 26 );
    new Date( betterDate );
    // Thu Jan 26 2017 00:00:00 GMT-0600 (Central Standard Time)

    Remove 10 hours from a 'BetterDate':

    let epoch_ms = betterDate.addHours( -10 );
    // 1485374400000
    betterDate.toString();
    // Wed Jan 25 2017 14:00:00 GMT-0600 (Central Standard Time)

    Change the time zone offset (and name) without affecting the represented time.

    betterDate.setTimezoneOffset( 480 );
    betterDate.setTimezoneName( 'America/Los_Angeles' );
    betterDate.toString();
    // Wed Jan 25 2017 12:00:00 GMT-0800 (America/Los_Angeles)
    new Date( betterDate );
    // Wed Jan 25 2017 14:00:00 GMT-0600 (Central Standard Time)

    Get week of year.

    Math.ceil( betterDate.getWeeksOfYear());
    // 4

    Install

    npm i betterdate

    DownloadsWeekly Downloads

    0

    Version

    0.0.5

    License

    GPL-3.0

    Unpacked Size

    52.6 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar