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

Readme

Keywords

none

Package Sidebar

Install

npm i date-extras

Weekly Downloads

1

Version

1.0.27

License

ISC

Unpacked Size

7.89 kB

Total Files

3

Last publish

Collaborators

  • naileric