Skip to content

Commit

Permalink
Added moment.fn.daysInMonth
Browse files Browse the repository at this point in the history
  • Loading branch information
timrwood committed Feb 28, 2012
1 parent 77287fe commit a701fc3
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
4 changes: 4 additions & 0 deletions moment.js
Expand Up @@ -637,6 +637,10 @@

zone : function () {
return this._d.getTimezoneOffset();
},

daysInMonth : function () {
return this.clone().month(this.month() + 1).date(0).date();
}
};

Expand Down
23 changes: 23 additions & 0 deletions test/moment/days_in_month.js
@@ -0,0 +1,23 @@
var moment = require("../../moment");

exports.days_in_month = {
"days in month" : function(test) {
test.expect(12);
var months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
for (var i = 0; i < 12; i++) {
test.equal(moment([2011, i]).daysInMonth(),
months[i],
moment([2011, i]).format('L') + "should have " + months[i] + " days.")
}
test.done();
},

"days in month leap years" : function(test) {
test.expect(4);
test.equal(moment([2010, 1]).daysInMonth(), 28, "Feb 2010 should have 29 days");
test.equal(moment([2100, 1]).daysInMonth(), 28, "Feb 2100 should have 29 days");
test.equal(moment([2008, 1]).daysInMonth(), 29, "Feb 2008 should have 29 days");
test.equal(moment([2000, 1]).daysInMonth(), 29, "Feb 2000 should have 29 days");
test.done();
}
};

0 comments on commit a701fc3

Please sign in to comment.