Как вы делаете, вы заменяете прототип своим новым объектом.
Если вы используете jQuery, у него есть метод $ .extend, который вы можете использовать как $.extend(Date.prototype, { getMonthText: function(date){...}, getDaysInMonth: function(date){...} })
Если вы не используете, вы можете легко создать функцию, подобную расширению, с помощью:
function extend(proto,newFunctions) {
for (var key in newFunctions)
proto[key] = newFunctions[key]
}
И позвоните по номеру:
extend(Date.prototype,{ getMonthText: function(date){...}, getDaysInMonth: function(date){...} });
Другой способ - просто сделать это напрямую:
Date.prototype.getDaysInMonth = function(date){ ... }
Date.prototype.getMonthText = function(date){ ... }
Я бы сказал, что это более читабельно, чем функция расширения.