首頁 > 軟體

JS中new Date().Format("yyyy-MM-dd") 報錯的解決

2023-01-22 14:00:30

1、原因:ES6中已經去掉了Format 的方法

JS日期格式化轉換方法

1. 將日期轉換為指定的格式

比如轉換成 年月日時分秒 這種格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd。

當然是網上的方法,只是總結下。

可以為Date原型新增如下的方法:

Date.prototype.format = function(fmt) { 
     var o = { 
        "M+" : this.getMonth()+1,                 //月份 
        "d+" : this.getDate(),                    //日 
        "h+" : this.getHours(),                   //小時 
        "m+" : this.getMinutes(),                 //分 
        "s+" : this.getSeconds(),                 //秒 
        "q+" : Math.floor((this.getMonth()+3)/3), //季度 
        "S"  : this.getMilliseconds()             //毫秒 
    }; 
    if(/(y+)/.test(fmt)) {
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    }
     for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
         }
     }
    return fmt; 
}        

比如

我們可以這樣呼叫下:

var time1 = new Date().format("yyyy-MM-dd hh:mm:ss");
console.log(time1);

執行如下:   

也可以轉換成 ”年月日”的格式 

var time2 = new Date().format("yyyy-MM-dd");
console.log(time2);

執行如下:

2. 將指定的日期轉換為"年月日"的格式

程式碼如下:

    var oldTime = (new Date("2012/12/25 20:11:11")).getTime();
    var curTime = new Date(oldTime).format("yyyy-MM-dd");
    console.log(curTime);

執行如下:

3. 將 "時間戳" 轉換為 "年月日" 的格式

比如如下程式碼: 

    var da = 1402233166999;
    da = new Date(da);
    var year = da.getFullYear()+'年';
    var month = da.getMonth()+1+'月';
    var date = da.getDate()+'日';
    console.log([year,month,date].join('-'));

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com