‚̧Nerdy Programmers Mingling
    Have ideas to improve npm?Join in the discussion! ¬Ľ

    date-extras

    1.0.27¬†‚Äʬ†Public¬†‚Äʬ†Published

    Date Extras

    • Extends JavaScript Date Object to include additional features/shortcuts
    • Created for a specific project

    Installation

    Install via NPM

    npm install date-extras
    

    Example Usage

    Initializing a Date Object

    const Date = require('date-extras')
     
    // current date/time (same as standard Date object)
    let date = new Date()
    // year, month, day, etc. (same as standard Date object)
    let date = new Date(2020,1,1)
    // datetime string (same as standard Date object)
    let date = new Date('Thu Jun 18 2020 14:02:03')
    // current date/time with offset
    let date = new Date({ days:3, hours:2, minutes:1 })
    let date = new Date({ days:-3, hours:-2, minutes:-1 })

    Adjusting the Date Object

    // adjust date/time
    date.adjust({ minutes:-1, seconds:-30 })
    date.adjust({ minutes:1, seconds:30 })
     
    // set date/time
    date.adjust({ month:1, day:1, hour:12 })

    Adding Events

    // at the time/date
    date.then(_=>console.log('times up'))
    // before the time/date occurs
    date.before({ seconds:30 }).then(_=>console.log('30 seconds before'))
    // after the time/date occurs
    date.after({ seconds:30 }).then(_=>console.log('30 seconds after'))
     
    // chaining events
    date
      .before({ seconds:30 }, _=>console.log('30 seconds before'))
      .then(_=>console.log('times up'))
      .after({ minutes:1 }, _=>console.log('1 minute after'))
      .after({ minutes:5 }, _=>console.log('5 minutes after'))
     
    // canceling events
    date.cancel()

    Shortcuts

    date.adjust({ days:1, hours:6, minutes:20 })
     
    date.difference(new Date())
    // -> { ms: 109200000, days: 1, hours: 30, minutes: 1820, seconds: 109200 }
     
    date.difference(new Date(), { relative:true })
    // -> { days: 1, hours: 6, minutes: 20, seconds: 0 }
     
    date.ttl
    // -> { ms: 109200000, days: 1, hours: 30, minutes: 1820, seconds: 109200 }
     
    date.relativettl
    // -> { days: 1, hours: 6, minutes: 20, seconds: 0 }
     
    date.ttlString()
    // -> "1 day 6 hours 20 minutes"
     
    date.ttlString('days')
    // -> "1 day"
     
    date.ttlString('days,hours')
    // -> "1 day 6 hours"
     
    date.past
    // -> false
     
    date.future
    // -> true
     
    `${date.month} ${date.day} ${date.hour} ${date.minute} ${date.second}`
    // -> 5 19 23 19 1
     
    `${date.hourReadable}:${date.minuteReadable}:${date.secondReadable} ${date.ampm}`
    // -> 11:19:01 PM
     
    `${date.monthName} ${date.dayName}`
    // -> june friday
     
    date.daysInMonth
    // -> 30

    License

    The MIT License

    Keywords

    none

    Install

    npm i date-extras

    DownloadsWeekly Downloads

    6

    Version

    1.0.27

    License

    ISC

    Unpacked Size

    7.89 kB

    Total Files

    3

    Last publish

    Collaborators

    • avatar