JS日期格式化

 今天在给Easyui的datebox控件赋值时发现后台取的时间值的正常的(也在后台做了时间格式化),但是前台无论如何也无法正常显示时间,总是显示为当前时间。比如后台取的是2015-01-01,前台取显示为2016-10-24,alert发现取到的时间到了前台为“/Date(1420041600000)/”,于是想到肯定是时间格式问题,度娘了下终于找到了解决方法,具体代码如下:

/*
    * 输入需要转换的时间,返回想要的Date类型。 
    * 时间格式为: yyyy-MM-dd HH:Mi:ss:fff
    * obj是转换前的时间,IsMi是否需要毫秒,true为需要,false为不需要
    */
    function timeConvert(obj, IsMi)
    {
        var correcttime1 = eval('( new ' + obj.replace(new RegExp("\/", "gm"), "") + ')');
        var myDate = correcttime1;
        var year = myDate.getFullYear();
        var month = ("0" + (myDate.getMonth() + 1)).slice(-2);
        var day = ("0" + myDate.getDate()).slice(-2);
        var h = ("0" + myDate.getHours()).slice(-2);
        var m = ("0" + myDate.getMinutes()).slice(-2);
        var s = ("0" + myDate.getSeconds()).slice(-2);
        var mi = ("00" + myDate.getMilliseconds()).slice(-3);
        if (IsMi == false) {
            return year + "-" + month + "-" + day + " " + h + ":" + m + ":" + s;
        }
        else {
            return year + "-" + month + "-" + day + " " + h + ":" + m + ":" + s + " " + mi;
        }
    }

调用:

 var dataStr = timeConvert(data.RegisterDate);

 alert(dataStr);  

 

  

posted @ 2016-10-24 10:55  夏空  阅读(941)  评论(0编辑  收藏  举报