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  

 

js中格式化时间字符串,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。