js date扩展方法

/* File Created: 四月 28, 2015 */

//日期加上天数得到新的日期
//dateTemp 需要参加计算的日期,days要添加的天数,返回新的日期,日期格式:YYYY-MM-DD
function getNewDay(dateTemp, days) {
    var dateTemp = dateTemp.split("-");
    var nDate = new Date(dateTemp[1] + '-' + dateTemp[2] + '-' + dateTemp[0]); //转换为MM-DD-YYYY格式  
    var millSeconds = Math.abs(nDate) + (days * 24 * 60 * 60 * 1000);
    var rDate = new Date(millSeconds);
    var year = rDate.getFullYear();
    var month = rDate.getMonth() + 1;
    if (month < 10) month = "0" + month;
    var date = rDate.getDate();
    if (date < 10) date = "0" + date;
    return (year + "-" + month + "-" + date);
}

function getDate(strDate) {
    var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/,
             function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');
    return date;
}
//重写toString方法,将时间转换为Y-m-d H:i:s格式
Date.prototype.toString = function () {
    return this.getFullYear() + "-" + (this.getMonth() + 1) + "-" + this.getDate() + " " + this.getHours() + ":" + this.getMinutes() + ":" + this.getSeconds();
}
//格式化时间字符串
Date.prototype.toFormatString = function (format) {
    if (format == "") {
        return this.toString();
    }
    var str = '';
    str = format.replace(/Y|y/, this.getFullYear())
                .replace(/M|m/, this.getMonth() + 1)
                .replace(/D|d/, this.getDate())
                .replace(/H|h/, this.getHours())
                .replace(/I|i/, this.getMinutes())
                .replace(/S|s/, this.getSeconds());
    return str;
}
//在当前时间上添加年数
Date.prototype.addYear = function (years) {
    var cyear = this.getFullYear();
    cyear += years;
    this.setYear(cyear);
    return this;
}
//在当前时间上添加天数
Date.prototype.addDay = function (days) {
    var cd = this.getDate();
    cd += days;
    this.setDate(cd);
    return this;
}
//在当前时间上添加月数
Date.prototype.addMonth = function (months) {
    var cm = this.getMonth();
    cm += months;
    this.setMonth(cm);
    return this;
}
//将php时间格式(Y-m-d H:i:s)转化为js日期对象
function phpDateToJsDate(phpDate) {
    if (phpDate == "") {
        return new Date();
    }
    return new Date(Date.parse(phpDate.replace(/-/g, "/")));
}

 

posted @ 2015-06-02 15:13  calochCN  阅读(1519)  评论(0编辑  收藏  举报