JS笔记

9.11

1.Math对象

Math对象属于Javascript内置对象,无需实例化(不需要添加new ),可以直接使用。只有一个Math.PI的属性

1.1.Math对象的方法

Math.round(number) //四舍五入整数

Math.ceil(number) //向上取整

Math.floor(number) //向下取整

Math.random() //随机返回0.0~1.0之间的数

Math.max(x,y) //求最大值

Math.min(x,y) //求最小值

Math.pow(x,y) //求xy

console.log(Math.PI); // PI
console.log(Math.round(8.5)); // 四舍五入
console.log(Math.abs(-10)); // 四舍五入
console.log(Math.round(6.4));
console.log(Math.ceil(6.4)); // 向上取整
console.log(Math.floor(6.9)); // 向下取整
console.log(Math.max(1,7,6,4,9,2)); // 最大值
console.log(Math.min(1,7,6,4,9,2)); // 最小值
console.log(Math.pow(5,8)); // 求x的y次方
console.log(Math.sqrt(9)); // 开方
// 随机数 0-1
console.log(Math.random());
// 随机数 0-9
console.log(Math.floor(Math.random()*10));
// 随机数 0-99
console.log(Math.floor(Math.random()*100));
// 随机数 1-10
console.log(Math.floor(Math.random()*10)+1);
// 随机数 5-10
console.log(Math.floor(Math.random()*6)+5);
// 随机数 7-18
console.log(Math.floor(Math.random()*12)+7);
// 随机数公式:Math.floor(Math.random()*(max-min+1))+min
// 优雅的取随机字符串
console.log(Math.random().toString(16).substring(2));

2.Date对象

2.1.创建Date对象

var dateObj = new Date();

2.2.Date对象方法

2.2.1.将日期转为字符串
toLocaleString()  
toLocaleDateString() 
toLocaleTimeString()

toLocaleString特殊用法:可以将一串数字转为xxx,xxx,xxx这种有间隔的方法

console.log((123264849.12).toLocaleString('en-US')); // 123,264,849.12
2.2.2.获取年、月、日、小时、分、秒
2.2.2.1.getYear()

两位的年(2000年前)或三位的年[1900] 获取两位数的年,从1900年开始计算,现在这个方法基本上已经没弃用

console.log(d.getYear());
2.2.2.2.getFullYear()

四位的年 获取完整的四位数的年,使用的比较多

console.log(d.getFullYear());
2.2.2.3.getMonth()

月份+1 获取月份,返回值为0-11,表示1月到12月,所以获取到月份之后需要+1

console.log(d.getMonth()+1); // 当前月+1
2.2.2.4.getDate()

日 获取天,返回值为今天是几号

获取每月有多少天

var max = new Date(2023,10,0).getDate()
2.2.2.5.getHours()

小时

2.2.2.6.getMinutes()

分钟

2.2.2.7.getSeconds()

2.2.2.8.getTime()

时间戳,1970 年 1 月 1 日至今的毫秒数 时间戳专门用来计算时间的差值,或者倒计时等功能

2.2.3.定时器

setInterval(函数体,时间(毫秒),参数(传递给函数的参数)

// 时间跳动案例
function getT(){
        // 获取时间
        var d = new Date();
        var year = d.getFullYear();
        var month = d.getMonth()+1;
        var day = d.getDate();
        var h = d.getHours();
        var m = d.getMinutes();
        var s = d.getSeconds();
        var ms = d.getMilliseconds();
        var oTime = document.getElementById('times');
        oTime.innerHTML = year+'-'+month+'-'+day+' '+h+':'+m+':'+s+' '+ms;
}
function stop(){
        // 清除某个定时器  clearInterval(定时器的名称);
        clearInterval(myTime);
}

2.3.使用时间戳计算时间差

计算时间差

2021-9-5 10:30:20 -> 1630809020000

2020-8-9 12:30:45 -> 1596947445000

差多少年,天,小时,分钟,秒钟 时间戳

参照时间: 1970/1/1 0:0:0(格林威治时间) 1970/1/1 8:0:0(北京时间)

时间戳:d.getTime(); 单位是毫秒数

计算公式

d = parseInt(总秒数/60/60/24) // 天数

h = parseInt(总秒数/60/60%24) // 小时

m = parseInt(总秒数/60%60) // 分钟

s = parseInt(总秒数%60) // 秒

    var aTime = new Date('2021-9-5 10:30:20'); // 指定的某个时间
    var bTime = new Date('2021-8-5 8:20:10');  //
    var cha = aTime.getTime() - bTime.getTime();
    if(cha<=0){
        console.log('时间输入有误!');
    }else{
        var miao = cha / 1000; // 秒的单位
        var s = miao % 60; // 秒
        var fen = parseInt(miao / 60); // 分钟的单位
        var m = fen%60;// 分钟
        var hour = parseInt(fen / 60); // 小时的单位
        var h = hour % 24; // 小时
        var day = parseInt(hour / 24); // 天
        var d = day % 365;
        var y = parseInt(day/365); // 年
        console.log('两个时间相差:'+y+'年,'+d+'天,'+h+'小时,'+m+'分钟,'+s+'秒钟');
    }

2.4.设置时间

2.4.1.直接设置年月日,时分秒

  new Date() 获取当前时间

  new Date(字符串 / 时间戳 / 值); 获取指定时间{

  字符串:"2021-2-3 12:23:34"

  时间戳:1617589820000

  值: 2012,5,6,12,30,00

var d = new Date('2009-11-12 08:20:30'); // 正常字符串时间的表示方式
var d = new Date('Jan 1 2001 05:20:10'); // 日期时间对象返回的格式
var d = new Date(2020,10,10,10,20,30); // js的时间格式
var d = new Date(1607061589000); // 时间戳
2.4.2.简单设置时间

setMonth(); setDate(); setFullYear(); 

你可能感兴趣的:(笔记)