diff --git a/CHANGELOG.md b/CHANGELOG.md index 41bb60e78e..d85f50f7c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## v0.12.0 (15 Oct 2014) + +* Additions: + - `isSameYear` + ## v0.11.0 (15 Oct 2014) * Additions: diff --git a/README.md b/README.md index a476ef8f7f..a0d36589dc 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ Code is fully documented, checkout source for reference. ### Year helpers * [`setYear`](./src/set_year.js) - sets full year +* [`isSameYear`](./src/is_same_year.js) - is passed dates has the same year? ### I18n diff --git a/package.json b/package.json index cce334e834..6473dafdee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "date-fns", - "version": "0.11.0", + "version": "0.12.0", "author": "Sasha Koss ", "description": "Date helpers", "repository": "https://github.com/kossnocorp/date-fns", diff --git a/src/__tests__/is_same_year_test.js b/src/__tests__/is_same_year_test.js new file mode 100644 index 0000000000..02e7b78efa --- /dev/null +++ b/src/__tests__/is_same_year_test.js @@ -0,0 +1,28 @@ +var isSameYear = require('../is_same_year'); + +describe('isSameYear', function() { + it('returns true if passed dates has same year', function() { + var result = isSameYear( + new Date(2014, 8 /* Sep */, 2), + new Date(2014, 8 /* Sep */, 25) + ); + expect(result).to.be.true; + }); + + it('returns false if passed dates has different years', function() { + var result = isSameYear( + new Date(2014, 8 /* Sep */, 2), + new Date(2013, 8 /* Sep */, 25) + ); + expect(result).to.be.false; + }); + + it('allows to pass string', function() { + var result = isSameYear( + new Date(2014, 8 /* Sep */, 2).toISOString(), + new Date(2014, 8 /* Sep */, 25).toISOString() + ); + expect(result).to.be.true; + }); +}); + diff --git a/src/is_same_year.js b/src/is_same_year.js new file mode 100644 index 0000000000..230f93a836 --- /dev/null +++ b/src/is_same_year.js @@ -0,0 +1,14 @@ +/** + * Is passed dates has the same year? + * @param {date|string} dirtyDateLeft + * @param {date|string} dirtyDateRight + * @returns {boolean} + */ +var isSameYear = function(dirtyDateLeft, dirtyDateRight) { + var dateLeft = new Date(dirtyDateLeft); + var dateRight = new Date(dirtyDateRight); + return dateLeft.getFullYear() == dateRight.getFullYear(); +}; + +module.exports = isSameYear; +