Rate this script:  I Love it  /   I Hate it

fix safari's Date#setMonth


Code


(function(){
        var set_month = Date.prototype.setMonth;
        Date.prototype.setMonth = function(num){
                if(num <= -1){
                        var n = Math.ceil(-num);
                        var back_year = Math.ceil(n/12);
                        var month = (n % 12) ? 12 - n % 12 : 0 ;
                        this.setFullYear(this.getFullYear() - back_year);
                        return set_month.call(this, month);
                } else {
                        return set_month.apply(this, arguments);
                }
        }
})();
 

 

 
fix safari's Date#setMonth scripts | fix safari's Date#setMonth snippet | fix safari's Date#setMonth example | fix safari's Date#setMonth tutorial | fix safari's Date#setMonth code