# 获取前一天、后一天
// 明天
new Date(new Date().getTime()+(60*60*24*1000))
// 昨天
new Date(new Date().getTime()-(60*60*24*1000))
1
2
3
4
2
3
4
# 日期 farmat (内含补零方法)
/**
* 获取当前日期
*
* @param foramt array 格式化数组,共8个参数,-1则不显示(-1 , 不是 "-1"),末尾若省缺,则默认为显示,具体看示例
* @param foramt Date对象
*
* @example formatDate(["年", "月", "日 " ,":",":",":"," ",true]) => "2021年5月15日 21:29:21:300 星期六"
* @example formatDate(["-", "-", " " ,":",":"," ",-1,true]) => "2021-5-15 21:34:59 星期六"
* @example formatDate(["/", "/", " " ,":"," ",-1,-1,true]) => "2021/5/15 21:36 星期六"
* @example formatDate(["/", "/", " " ,":"," ",-1,-1,-1]) => "2021/5/15 21:37"
*/
function formatDate(format = ["年", "月", "日 ", ":", ":", ":", " ", true], d = new Date()) {
const week = ["日", "一", "二", "三", "四", "五", "六"];
return (format[0] !== false ? addZero(d.getFullYear(), 4, format[0]) : "") +
(format[1] !== -1 ? addZero(d.getMonth() + 1, 2, format[1]) : "") +
(format[2] !== -1 ? addZero(d.getDate(), 2, format[2]) : "") +
(format[3] !== -1 ? addZero(d.getHours(), 2, format[3]) : "") +
(format[4] !== -1 ? addZero(d.getMinutes(), 2, format[4]) : "") +
(format[5] !== -1 ? addZero(d.getSeconds(), 2, format[5]) : "") +
(format[6] !== -1 ? addZero(d.getMilliseconds(), 3, format[6]) : "") +
(format[7] !== -1 ? " 星期" + week[d.getDay()] : "")
}
/**
* 后向前切割 length 位
*
* @param str String/Number 任意字符串 或者 数字
* @param length Number str切割后的长度
* @param pad String 切割后末尾添加的字符串 default 空
* @returns String 切割结果
*
* @example addZero("abc", 4 , "_") => "0abc_"
* @example addZero(4, 3 , "_") => "0003_"
* @example addZero(2589, 3) => "589"
* @example addZero(2589, 0) => ""
* @example addZero(2589, -1) => "2589"
*/
function addZero(str, length, pad = "") {
if (length == 0) return "";
if (length < 0) return str; //真没必要这样用。。
return ((new Array(length)).join("0") + str).slice(0 - length) + pad;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 返回n个重复相同的字符串
/**
* @example new Array(3).join(0) => "00"
* @example new Array(3).join("01") => "0101"
*
*/
(new Array(n + 1)).join(src);
1
2
3
4
5
6
2
3
4
5
6
# 判断空对象
// 方法 1
JSON.stringify(data) == "{}"
// 方法 2
var obj = {};
var b = function(obj) {
for(var key in obj) {
return false;
}
return true;
}
b(obj)
// 方法 3
var obj = {};
var arr = Object.keys(obj);
arr.length == 0;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 补零
// 前补零 padStart()
'abc'.padStart(10); // " abc"
'abc'.padStart(10, "foo"); // "foofoofabc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0"); // "00000abc"
'abc'.padStart(1); // "abc"
// 后补零 padEnd()
'abc'.padEnd(6,"123465"); // "abc123"
'abc'.padEnd(1,"123465"); // "abc"
// 还可以使用 ### 日期 farmat (内含补零方法) 所使用的方法,有些场景更灵活
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 字符串转对象
JSON.parse(string)
或
eval("("+string+")")
1
2
3
4
5
2
3
4
5
扩展阅读:JSON.parse方法是如何工作的?