dayjs-random
v1.0.1
Published
Day.js plugin to add support for getting a random date either between two dates, a random date in the future or a random date in the past.
Downloads
3,342
Maintainers
Readme
dayjs-random
This is a plugin for Day.js that allows you to generate random datetimes.
- Get a random dayjs instance between two datetimes
- Get a random dayjs instance that's coming up or recently occurred
- Get a random dayjs instance that's in the past or future
Getting Started
The following guide will help you install and use this plugin with Day.js
Prerequisites
Day.js installed
Installation
You can install via Yarn or npm
yarn add dayjs-random
npm install dayjs-random
Usage Guide
You will need to import the plugin and activate it via the Day.js .extend()
function
ES6
import dayjs from 'dayjs'
import dayjsRandom from 'dayjs-random'
dayjs.extend(dayjsRandom)
Node
const dayjs = require('dayjs')
const dayjsRandom = require('dayjs-random')
dayjs.extend(dayjsRandom)
between
dayjs.between(Date1, Date2) Returns a date between Date1 and Date2.
dayjs.between('2020-06-10', '2030-03-02').format('YYYY-MM-DD')
// returns 2026-08-27
dayjs.between('2020-06-10T11:00:00+01:00', '2020-06-10T19:00:00+01:00').format()
// returns 2020-06-10T15:52:59+01:00
soon
dayjs.soon(days, refDate) Returns a date sometime between now and N days in the future. If not provided, days will default to 1 and refDate will default to now.
dayjs().format() // 2020-06-10T11:00:00+01:00
dayjs.soon().format() // returns 2020-06-11T08:23:04+01:00
recent
dayjs.recent(days, refDate) Returns a date sometime between now and N days ago. If not provided, days will default to 1 and refDate will default to now.
dayjs().format() // 2020-06-10T11:00:00+01:00
dayjs.recent().format() // returns 2020-06-09T22:39:59+01:00
future
dayjs.future(years, refDate) Returns a date sometime between now and N years in the future. If not provided, years will default to 1 and refDate will default to now.
dayjs().format() // 2020-06-10T11:00:00+01:00
dayjs.future().format() // returns 2020-07-06T12:41:59+01:00
past
dayjs.past(years, refDate) Returns a date sometime between now and N years ago. If not provided, years will default to 1 and refDate will default to now.
dayjs().format() // 2020-06-10T11:00:00+01:00
dayjs.past().format() // returns 2019-09-28T07:29:19+01:00
Local Development and Contributing
We are more than happy to accept PRs for bugs, improvements or new features. Developing your own changes locally is easy, you just need to clone the repo
git clone [email protected]/FraserHamilton/dayjs-random
cd dayjs-random
and install the dependencies with either npm
or yarn
npm i
yarn
Tests can be ran with the test
script
npm run test
yarn test