例子:
得到后台从数据库中拿到的数据我们希望格式是
2016年10月25日 17时37分30秒 或者 2016/10/25 17:37:30然而我们前台得到的却是一段数字(时间戳,毫秒数) 1477386005 我们要将时间戳转化为我们想要的格式。核心方法 :1477386005是我从后台得到时间戳 (注意:有的时候得到的时间戳是已经乘以1000的)var unixTimestamp = new Date( 1477386005*1000 ) ;
commonTime = unixTimestamp.toLocaleString();alert(commonTime);这时候的结果是: 但是我希望转换为我自己想要的格式,就在本页面重写一下 toLocaleString()方法即可。Date.prototype.toLocaleString = function() { return this.getFullYear() + "年" + (this.getMonth() + 1) + "月" + this.getDate() + "日 " + this.getHours() + "点" + this.getMinutes() + "分" + this.getSeconds() + "秒";};
结果为:
或者其他想要的格式:Date.prototype.toLocaleString = function() { return this.getFullYear() + "/" + (this.getMonth() + 1) + "/" + this.getDate() + "/ " + this.getHours() + ":" + this.getMinutes() + ":" + this.getSeconds();};
结果为:
/*****变化格式*****/ function formatterTime(time, fmt) { if(!time){ return ''; } if(typeof(time) == "object" || typeof(time) == "OBJECT") { var z = { M: time.getMonth() + 1, d: time.getDate(), h: time.getHours(), m: time.getMinutes(), s: time.getSeconds() }; fmt = fmt.replace(/(M+|d+|h+|m+|s+)/g, function(v) { return ((v.length > 1 ? "0" : "") + eval('z.' + v.slice(-1))).slice(-2); }); return fmt.replace(/(y+)/g, function(v) { return time.getFullYear().toString().slice(-v.length); }); }else if(typeof(time) == "number"){ var TIME = new Date( time) ; var z = { M: TIME.getMonth() + 1, d: TIME.getDate(), h: TIME.getHours(), m: TIME.getMinutes(), s: TIME.getSeconds() }; fmt = fmt.replace(/(M+|d+|h+|m+|s+)/g, function(v) { return ((v.length > 1 ? "0" : "") + eval('z.' + v.slice(-1))).slice(-2); }); return fmt.replace(/(y+)/g, function(v) { return TIME.getFullYear().toString().slice(-v.length); }); } else return time;}/**js里**/formatterTime( 1521011095000 ,"yyyy-MM-dd hh:mm:ss")/*结果: 2018-03-14 15:04:55*/