1.0.27 • Published 4 years ago

date-extras v1.0.27

Weekly downloads
1
License
ISC
Repository
-
Last release
4 years ago

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

1.0.26

4 years ago

1.0.27

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.19

4 years ago

1.0.20

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.9

4 years ago

1.0.10

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago