時間轉換

/**
 * 時間格式化
 */
Date.prototype.Format = function(formatStr) {
    var str = formatStr;
    var Week = ['日', '一', '二', '三', '四', '五', '六'];
    str = str.replace(/yyyy|YYYY/, this.getFullYear());
    str = str.replace(
        /yy|YY/,
        this.getYear() % 100 > 9
            ? (this.getYear() % 100).toString()
            : '0' + this.getYear() % 100
    );
    str = str.replace(
        /MM/,
        this.getMonth() + 1 > 9
            ? (this.getMonth() + 1).toString()
            : '0' + (this.getMonth() + 1)
    );
    str = str.replace(/M/g, this.getMonth() + 1);
    str = str.replace(/w|W/g, Week[this.getDay()]);
    str = str.replace(
        /dd|DD/,
        this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate()
    );
    str = str.replace(/d|D/g, this.getDate());
    str = str.replace(
        /hh|HH/,
        this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours()
    );
    str = str.replace(/h|H/g, this.getHours());
    str = str.replace(
        /mm/,
        this.getMinutes() > 9
            ? this.getMinutes().toString()
            : '0' + this.getMinutes()
    );
    str = str.replace(/m/g, this.getMinutes());
    str = str.replace(
        /ss|SS/,
        this.getSeconds() > 9
            ? this.getSeconds().toString()
            : '0' + this.getSeconds()
    );
    str = str.replace(/s|S/g, this.getSeconds());
    return str;
};

/**
 * 返回當天的零點的毫秒
 */
Date.prototype.ZeroToday = function(){
    return new Date(new Date().toLocaleDateString()).getTime();
};

/**
 * 返回昨天的毫秒
 */
Date.prototype.ZeroWeek = function(){
    const dayTime = 24 * 60 * 60 * 1000;//一天的毫秒
    const today = new Date(new Date().toLocaleDateString()).getTime();
    const time = today - dayTime;
    return time;
};

/**
 * 返回本週的零點的毫秒
 */
Date.prototype.Yestday = function(){
    const dayTime = 24 * 60 * 60 * 1000;//一天的毫秒
    const today = new Date(new Date().toLocaleDateString()).getTime();
    const weekNumber =  new Date().getDay();
    const time = today - dayTime * weekNumber;
    return time;
};

/**
 * 零時區格式化
 */
Date.prototype.ZeroWeek = function(ftm = 'YYYY-MM-DD hh:mm:ss'){
    if(this){
        return null;
    }
    const dateString = String(this).replace(/-/g,'/');
    const dateTime = new Date(dateString).getTime();
    const timeZone = 0 - new Date().getTimezoneOffset();//獲取時區,分
    const currentDate = dateTime + timeZone * 60 * 1000;
    return new Date(currentDate).Format(ftm);
};
相關文章
相關標籤/搜索