js中格式化時間字符串


 .net 程序員肯定有遇到過,將一個對象json序列化之后Date 字段 就會轉化成 '/Date(1370770323740)/' 這種格式的數據,下面介紹一種在js中,關於時間格式的轉換。

<script>   
function formatDate(date, format) {   
    if (!date) return;   
    if (!format) format = "yyyy-MM-dd";   
    switch(typeof date) {   
        case "string":   
            date = new Date(date.replace(/-/, "/"));   
            break;   
        case "number":   
            date = new Date(date);   
            break;   
    }    
    if (!date instanceof Date) return;   
    var dict = {   
        "yyyy": date.getFullYear(),   
        "M": date.getMonth() + 1,   
        "d": date.getDate(),   
        "H": date.getHours(),   
        "m": date.getMinutes(),   
        "s": date.getSeconds(),   
        "MM": ("" + (date.getMonth() + 101)).substr(1),   
        "dd": ("" + (date.getDate() + 100)).substr(1),   
        "HH": ("" + (date.getHours() + 100)).substr(1),   
        "mm": ("" + (date.getMinutes() + 100)).substr(1),   
        "ss": ("" + (date.getSeconds() + 100)).substr(1)   
    };       
    return format.replace(/(yyyy|MM?|dd?|HH?|ss?|mm?)/g, function() {   
        return dict[arguments[0]];   
    });                   
}   
  
alert(formatDate("2010-04-30", "yyyy-MM-dd HH:mm:ss"));   
alert(formatDate("2010-4-29 1:50:00", "yyyy-MM-dd HH:mm:ss"));   
 </script>
var datestr="/Date(1408291200000+0800)/"; //模擬我們返回的json日期格式

var newdate=eval(datastr.replace(/\//g, '')); // 通過這個方法日期被格式化成了"Wed Aug 20 2014 18:54:10 GMT+0800 (中國標准時間)"標准時間格式

然后在調用上面的方法:

alert(formatDate(newdate, "yyyy-MM-dd HH:mm:ss"));   
alert(formatDate(newdate, "yyyy-MM-dd")); 

返回結果:  2014-08-20 19:00:13

            2014-08-20  

 


免責聲明!

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



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