javascript日期字符串和日期對象相互轉換


HTML頁面間需要傳遞日期和時間參數的時候,如果需要對日期字符串進行時間的運算,就需要先將日期字符串轉換成JS日期對象。

在js中,yyyy-MM-dd HH:mm:ss格式的日期字符串不能用來直接構造JS日期對象,需要先做將“-”替換處理:

timeStr.replace(/-/g, '/');

具體實現如下:

// 給Number原型添加左邊補位函數
Number.prototype.padLeft = function(lng, chr) {
    if (!lng) lng = 0;
    if (!chr) chr = '0';
    var vStr = this.toString();
    
    if (vStr.length > lng) {
        return vStr.substring(vStr.length - lng,vStr.length);
    } else if (vStr.length < lng) {
        var tnum = Math.pow(10,lng - vStr.length).toString();
        return tnum.substring(1, tnum.length).replace("0",chr) + this.toString();
    }
    return this.toString();
};
// 給Date原型添加轉化成字符串格式yyyy-MM-dd HH:mm:ss函數
Date.prototype.toMyStr = function() {
     return this.getFullYear()
        + '-' + (this.getMonth() + 1).padLeft(2)
        + '-' + this.getDate().padLeft(2)
        + ' ' + this.getHours().padLeft(2)
        + ':' + this.getMinutes().padLeft(2) 
        + ':' + this.getSeconds().padLeft(2);
};

// 使用示例
// 日期字符串中含有空格能字符,HTML頁面傳遞日期字符串時可以先用encodeURIComponent編碼,在接收頁面再用decodeURIComponent解碼
var timeStr = '2015-09-07 13:40:36';
var ct = new Date(timeStr.replace(/-/g, '/'));
var addHours = 13;
ct.setHours(ct.getHours() + addHours);
console.log(ct.toMyStr());

打印結果

2015-09-08 02:40:36


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM