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