js中的Math和Date常用方法
Math
1、random()
:获取[0-1)之间的随机小数,包含0,不包含1
var num = Math.random()
console.log(num) // 得到一个随机数
2、round()
:四舍五入,根据小数点后面第一位小数
var num = 10.1
console.log(Math.round(num)) // 10
var num2 = 10.6
console.log(Math.round(num2)) // 11
var num3 = -9.6
console.log(Math.round(num3)) // -10
3、ceil()
:向上取整
var num = 10.1
console.log(Math.ceil(num)) // 11
var num2 = 10.9
console.log(Math.ceil(num2)) // 11
4、floor()
:向下取整
var num = 10.1
console.log(Math.floor(num)) // 10
var num2 = 10.9
console.log(Math.floor(num2)) // 10
5、abs()
:绝对值
var num = -10
console.log(math.abs(num)) // 10
6、PI
:圆周率
console.log(Math.PI) // 3.141592653589793
7、pow(m,n)
:m的n次方
console.log(Math.pow(2, 3)) // 8
8、sqrt()
:平方根
console.log(Math.sqrt(9)) // 3
9、max()
:最大值
console.log(Math.max(1, 2, 3, 4, 5)) // 5
10、min()
:最小值
console.log(Math.min(1, 2, 3, 4, 5)) // 1
Date
1、new Date()
:在不传递参数的情况下是默认返回当前时间
var dt1 = new Date() //获取当前北京时间
new Date()
传递的参数有多种情况- 传递两个数字,第一个表示年,第二个表示月份
var time = new Date(2023, 00) // 月份从 0 开始计数,0 表示 1月,11 表示 12月 console.log(time) // Sun Jan 01 2023 00:00:00 GMT+0800 (中国标准时间)
- 传递三个数字,前两个不变,第三个表示该月份的第几天,从 1 到 31
var time = new Date(2023, 00, 05) console.log(time) // Thu Jan 05 2023 00:00:00 GMT+0800 (中国标准时间)
- 传递四个数字,前三个不变,第四个表示当天的几点,从 0 到 23
var time = new Date(2023, 00, 05, 22) console.log(time) // Thu Jan 05 2023 22:00:00 GMT+0800 (中国标准时间)
- 传递五个数字,前四个不变,第五个表示的是该小时的多少分钟,从 0 到 59
var time = new Date(2019, 00, 05, 22, 33) console.log(time) // Thu Jan 05 2023 22:33:00 GMT+0800 (中国标准时间)
- 传递六个数字,前五个不变,第六个表示该分钟的多少秒,从 0 到 59
var time = new Date(2019, 00, 05, 22, 33, 55) console.log(time) // Thu Jan 05 2023 22:33:55 GMT+0800 (中国标准时间)
- 传入字符串的形式
console.log(new Date('2023')) // Sun Jan 01 2023 08:00:00 GMT+0800 (中国标准时间) console.log(new Date('2023-02')) // Wed Feb 01 2023 08:00:00 GMT+0800 (中国标准时间) console.log(new Date('2023-02-03')) // Fri Feb 03 2023 08:00:00 GMT+0800 (中国标准时间) console.log(new Date('2023-02-03 13:')) // Fri Feb 03 2023 13:00:00 GMT+0800 (中国标准时间) console.log(new Date('2023-02-03 13:13:')) // Fri Feb 03 2023 13:13:00 GMT+0800 (中国标准时间) console.log(new Date('2023-02-03 13:13:13')) // Fri Feb 03 2023 13:13:13 GMT+0800 (中国标准时间) var dt2 = new Date("2023-5-20 00:00:00") console.log(dt2) //Sat May 20 2023 00:00:00 GMT+0800 (中国标准时间) var dt3 = new Date("5-20-2023 08:00:00") console.log(dt3) //Sat May 20 2023 08:00:00 GMT+0800 (中国标准时间) var dt4 = new Date("5/20/2023 08:00:00") console.log(dt4) //Sat May 20 2023 08:00:00 GMT+0800 (中国标准时间) 注: 1、在设置时间时,如果传递的是字符串时,可以格局上面的案例的书写格式来进行传递;如果传递的是数字实参时,那么必须根据年月日时分秒的顺序传参 2、当传递一个数字作为参数时,该数字表示时间戳 月份的范围是:[0-11] 星期的范围是:[0-6]
- 传递两个数字,第一个表示年,第二个表示月份
获取日期,以get字符开头的方法,都是获取
2、getFullYear()
: 得到指定字符串中的哪一年
var time = new Date(2023, 04, 19, 08, 00, 22)
console.log(time.getFullYear()) // 2023
3、getMonth()
: 获取0-11的月份,得到指定字符串中的哪一个月份
var time = new Date(2023, 04, 19, 08, 00, 22)
console.log(time.getMonth()) // 4
- 这里要有一个注意的地方
- 月份是从 0 开始数的
- 0 表示 1月,1 表示 2月,依此类推
4、getDate()
: 获取日期,得到指定字符串中的哪一天
var time = new Date(2023, 04, 19, 08, 00, 22)
console.log(time.getDate()) // 19
5、getDay()
: 获取0-6的星期几,得到指定字符串当前日期是一周中的第几天
var time = new Date(2023, 04, 19, 08, 00, 22)
console.log(time.getDay()) // 5
注意:(2023, 04, 19, 08, 00, 22)中间的04不是4月份,代表的是5月份,因为月份从0开始计算的
6、getHours()
: 获取小时,得到指定字符串中的哪小时
var time = new Date(2023, 04, 19, 08, 00, 22)
console.log(time.getHours()) // 8
7、getMinutes()
: 获取分钟
var time = new Date(2023, 04, 19, 08, 00, 22)
console.log(time.getMinutes()) // 0
8、getSeconds()
: 获取秒
var time = new Date(2023, 04, 19, 08, 00, 22)
console.log(time.getSeconds()) // 22
9、getTime()
: 得到执行时间到 格林威治时间
的毫秒数
var time = new Date(2023, 04, 19, 08, 00, 22)
console.log(time.getTime()) // 1684454422000
获取到本地格式字符串
1、toLocaleString()
: 返回一个’年月日 时分秒’的本地格式字符串
var d = new Date()
console.log(d.toLocaleString()); // 2023/3/30 14:18:46
2、toLocaleDateString()
:返回一个’年月日’的本地格式字符串
var d = new Date()
console.log(d.toLocaleDateString()); // 2023/3/30
3、toLocaleTimeString ()
:返回一个’时分秒’的本地格式字符串
var d = new Date()
console.log(d.toLocaleTimeString()); // 14:22:26
设置日期,以set字符开头的方法,都是设置。
1、setFullYear(year,month,day)
: 设置年份
var d = new Date();
d.setFullYear(2020);
console.log(d) //Thu Aug 27 2020 23:52:25 GMT+0800 (中国标准时间)
var d=new Date();
d.setFullYear(2020,10,3);
console.log(d) //Tue Nov 03 2020 23:52:25 GMT+0800 (中国标准时间)
2、setMonth(month,day)
: 设置月份
var d = new Date();
d.setMonth(4);
console.log(d) //Fri May 19 2023 17:18:33 GMT+0800 (中国标准时间)
var d = new Date();
d.setMonth(4,20);
console.log(d) //Sat May 20 2023 17:18:51 GMT+0800 (中国标准时间)
3、setDate(data)
: 设置日期
var d = new Date();
d.setDate(15);
console.log(d) //Sat Apr 15 2023 17:19:08 GMT+0800 (中国标准时间)
4、setHours(hh,mm,ss,ms)
: 设置小时
var d = new Date();
d.setHours(15);
console.log(d) //Wed Apr 19 2023 15:19:28 GMT+0800 (中国标准时间)
var d = new Date();
d.setHours(15,35,1);
console.log(d) //Wed Apr 19 2023 15:35:01 GMT+0800 (中国标准时间)
5、setMinutes(mm,ss,ms)
: 设置分钟
var d = new Date();
d.setMinutes(17);
console.log(d) //Wed Apr 19 2023 17:17:55 GMT+0800 (中国标准时间)
var d = new Date();
d.setMinutes(d.getMinutes()-90);
console.log(d) //Wed Apr 19 2023 15:50:04 GMT+0800 (中国标准时间)
6、setSeconds(ss,ms)
: 设置秒数
var d = new Date();
d.setSeconds(35);
console.log(d) //Wed Apr 19 2023 17:20:35 GMT+0800 (中国标准时间)
var d = new Date();
d.setSeconds(35,825);
var n=d.getSeconds() + ":" + d.getMilliseconds();
console.log(n) //35:825
7、setTime()
: 设置时间戳
var d = new Date();
d.setTime(1332403882588);
console.log(d) //Thu Mar 22 2012 16:11:22 GMT+0800 (中国标准时间)