addmonths
v1.0.1
Published
Adds or sustract X months to any JavaScript Date.
Downloads
73
Maintainers
Readme
addMonths
Adds or sustract X months to any JavaScript Date.
🚧 This Package Is Depreacted 🚧
This package is deprecated in favor of @jsbits/add-months.
Unlike addMonths, @jsbits/add-months handles changes in the timezone correctly, has better support, 100% coverage, and the version for Date.prototype
is more consistent with other Date methods.
This package will no longer be updated
Install
npm
npm i addmonths --save
bower
bower install addmonths --save
browsers
<script src="https://unpkg.com/addmonths/dist/addmonths.js"></script>
<!-- ...or to inject `addMonths` to `Date.prototype` -->
<script src="https://unpkg.com/addmonths/dist/addmonths.auto.js"></script>
Usage
newdate = addMonths(startdate, count)
The addMonths
function returns a date occurring count
months after startdate
or, if count
is negative, the date occurring count
months before startdate
.
If there is an overflow in the day, the date is adjusted to the last valid day of the expected month.
If startdate
is not a date, returns startdate
without changes.
If startdate
is an invalid date (i.e. NaN
), returns a new Date
instance with an invalid date.
If count
is evaluated as zero, returns a new Date
instance with the same value as startdate
.
Examples
const addMonths = require('addmonths')
addMonths(new Date(2017, 0, 1), 2) // 2017-01-01 ==> 2017-03-01
addMonths(new Date(2017, 0, 1), -1) // 2017-01-01 ==> 2016-12-01
addMonths(new Date(2016, 0, 31), 1) // 2016-01-31 ==> 2016-02-29
addMonths(new Date(2016, 0, 31), 0) // new instance with the same value
addMonths('2017-06-12', 1) // the same string
If you prefer, you can inject the function into the Date
prototype of Date requiring "auto" or by loading the IIFE from "dist/addmonths.auto.js" in your browser:
require('addmonths/auto')
const date = new Date().addMonths(3)
What's New
- Production ready version.
- Updated tests.
- Updated devDependencies.
License
The MIT License (MIT)
Copyright (c) 2017 Alberto Martínez (https://github.com/aMarCruz)