1、 function foo(){} // 声明,因为它是程序的一部分 var bar = function foo(){}; // 表达式,因为它是赋值表达式的一部分 new function bar(){}; // 表达式,因为它是new表达式 (function(){ function bar(){} // 声明,因为它是函数体的一部分 })(); 2、时间: 获取当前时间 var time= new Date() 当前时间的前一个小时:var frontOneHour = new Date(new Date().getTime() - 1 * 60 * 60 * 1000); 格式化时间: function frontOneHour (fmt) { var currentTime = new Date(new Date().getTime()) console.log(currentTime) // Wed Jun 20 2018 16:12:12 GMT+0800 (中国标准时间) var o = { 'M+': currentTime.getMonth() + 1, // 月份 'd+': currentTime.getDate(), // 日 'h+': currentTime.getHours(), // 小时 'm+': currentTime.getMinutes(), // 分 's+': currentTime.getSeconds(), // 秒 'q+': Math.floor((currentTime.getMonth() + 3) / 3), // 季度 'S': currentTime.getMilliseconds() // 毫秒 } if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (currentTime.getFullYear() + '').substr(4 - RegExp.$1.length)) for (var k in o) { if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) } return fmt } // 调用 frontOneHour('yyyy-MM-dd hh:mm:ss') // "2018-06-20 16:11:59" frontOneHour('yyyy-MM-dd') // "2018-06-20" frontOneHour('yyyyMMDD') // "201806DD" 时间戳转换日期: function formatDate(datetime) { // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 var year = datetime.getFullYear(), month = ("0" + (datetime.getMonth() + 1)).slice(-2), date = ("0" + datetime.getDate()).slice(-2), hour = ("0" + datetime.getHours()).slice(-2), minute = ("0" + datetime.getMinutes()).slice(-2), second = ("0" + datetime.getSeconds()).slice(-2); // 拼接 var result = year + "-"+ month +"-"+ date +" "+ hour +":"+ minute +":" + second; // 返回 return result; } var date = new Date(); console.log(formatDate(date)); // 2018-05-26 23:09:26 //时间戳转换日期: formatterDate(data) { //blog.csdn.net/moshowgame var date = new Date(parseInt(data) ); const Y = date.getFullYear() + '-'; const M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; const D = (date.getDate()<10?'0'+date.getDate():date.getDate()) + ' '; const h = (date.getHours() <10?'0'+date.getHours() :date.getHours() )+ ':'; const m = (date.getMinutes() <10?'0'+date.getMinutes() :date.getMinutes() ) + ':'; const s = (date.getSeconds() <10?'0'+date.getSeconds() :date.getSeconds() ); return(Y+M+D+h+m+s); }, /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2007-07-02 08:09:04.423 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2007-03-10 二 20:09:04 * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2007-03-10 周二 08:09:04 * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2007-03-10 星期二 08:09:04 * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2007-7-2 8:9:4.18 */ Date.prototype.format = function(fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时 "H+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; var week = { "0": "\u65e5", "1": "\u4e00", "2": "\u4e8c", "3": "\u4e09", "4": "\u56db", "5": "\u4e94", "6": "\u516d" }; if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); } if (/(E+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "\u661f\u671f": "\u5468") : "") + week[this.getDay() + ""]); } for (var k in o) { if (new RegExp("(" + k + ")").test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); } } return fmt; }