数组方法

数组排序

从小到大

1
2
3
var arr = [1,2,3,4,5,11,4,5,6,7,8];
arr.sort((a,b)=> a-b);
//[1, 2, 3, 4, 4, 5, 5, 6, 7, 8, 11]

从大到小

1
2
3
var arr = [1,2,3,4,5,11,4,5,6,7,8];
arr.sort((a,b)=> b-a);
//[11, 8, 7, 6, 5, 5, 4, 4, 3, 2, 1]

时间函数

时间格式

Date参数

1
2
3
4
5
6
7
8
9
//实例   Wed Jun 28 2017 17:33:36 GMT+0800 (CST)
//星期一 MON //星期二 TUE //星期三 WED //星期四 THU //星期五 FRI //星期六 SAT //星期天 SUN
//一月 Jan//二月 Feb//三月 Mar//四月 Apr//五月 May
//六月 June//七月 July//八月 Aug//九月 Sept//十月 Oct//十一月 Nov//十二月 Dec
//第一个参数代表星期几,是英语星期几的简写
//第二个参数代表几月份,是英语几月份的简写
//也就是说上面的案例代表着:星期三,六月,28日,2017年,17点,33分,36秒,
//GMT+0800代表着格林尼治所在地的标准时间。这个+0800指的是北京时间距离标准时间差8个小时
//CST CST可视为美国,澳大利亚,古巴或中国的标准时间。

new Date

不接收任何参数:返回当前时间;

1
2
3
var time = new Date()
console.log(time)
//Wed Jun 28 2017 17:33:36 GMT+0800 (CST)

new Date(x)

接收一个参数x: 返回1970年1月1日 + x毫秒的值。

1
2
3
var time = new Date(1);
console.log(time);
//Thu Jan 01 1970 08:00:00 GMT+0800 (CST)

new Date().getFullYear()

获取当前年份;

1
2
3
var time = new Date().getFullYear();
console.log(time);
//2017

new Date().getMonth()

获取当前月份,从0开始

1
2
3
var time = new Date().getMonth();
console.log(time);
//5

new Date().getDate()

获取当前日期

1
2
3
var time = new Date().getDate();
console.log(time)
//28

new Date().getDay()

返回当前是星期几

1
2
3
var time = new Date().getDay();
console.log(time)
//3

new Date().getTime()

获取从1970.1.1开始的毫秒数(时间戳)

1
2
3
var time = new Date().getTime();
console.log(time);
//1498645675319

new Date().getHours()

获取当前小时数(24小时制)

1
2
3
var time = new Date().getHours();
console.log(time);
//18

new Date().getMinutes()

获取当前分钟数

1
2
3
var time = new Date().getMinutes();
console.log(time);
//29

new Date().getSeconds()

获取当前秒数

1
2
3
var time = new Date().getSeconds();
console.log(time);
//16

new Date().getMilliseconds()

获取当前毫秒数

1
2
3
var time = new Date().getMilliseconds();
console.log(time);
//168

new Date().toLocaleDateString()

获取当前日期年月日—–格式0000-0-00

1
2
3
var time = new Date().toLocaleDateString();
console.log(time);
//2017-6-28

new Date().toLocaleTimeString()

获取当前时间—00:00:00

1
2
3
var time = new Date().toLocaleTimeString();
console.log(time);
//"10:02:12"

new Date().toLocaleString()

获取当前日期年月日时分秒—–格式0000-0-00 00:00:00

1
2
3
var time = new Date().toLocaleString();
console.log(time);
//2017-6-28 18:32:51

获取时间戳

1
2
3
4
5
6
7
var time = new Date();
//第一种方法
time.valueOf();
//1498646194237
//第二种方法
time.getTime();
//1498646194237

字符串转日期对象

1
2
3
4
5
6
7
8
9
var str = '2017-06-28';
new Date(Date.parse(str.replace(/-/g, "/")));
//Mon Jun 26 2017 00:00:00 GMT+0800 (CST)
new Date(2009,1,1);
//Sun Feb 01 2009 00:00:00 GMT+0800 (CST)
//星期天,二月,一日,2009
new Date("2009/1/1");
//Thu Jan 01 2009 00:00:00 GMT+0800 (CST)
//星期四,一月

时间demo

当前系统区域设置格式(toLocaleDateString和toLocaleTimeString)

1
2
3
//例如
(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString();
//"2017-6-29 10:05:56"

普通字符串(toDateString和toTimeString)

1
2
3
//例如
(new Date()).toDateString() + " " + (new Date()).toTimeString();
//"Thu Jun 29 2017 10:06:49 GMT+0800 (CST)"

格林威治标准时间(toGMTString)

1
2
(new Date()).toGMTString();
//"Thu, 29 Jun 2017 02:07:41 GMT"

全球标准时间(toUTCString)

1
2
(new Date()).toUTCString();
//"Thu, 29 Jun 2017 02:08:57 GMT"

Date对象字符串(toString)

1
2
(new Date()).toString();
//"Thu Jun 29 2017 10:09:40 GMT+0800 (CST)"

好用的方法

时间戳转换时间格式

时间格式2017-6-29 10:16

1
2
3
4
5
6
7
8
9
var time = new Date().valueOf();
//1498702568422
function getLocalTime(nS) {
console.log(parseInt(nS) * 1000,'parseInt(nS) * 1000');
console.log((parseInt(nS) * 1000).toLocaleString(),'parseInt(nS) * 1000.toLocaleString()')
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
}
getLocalTime(time/1000);
//"2017-6-29 10:16 "

时间方法