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);