Date的数学对象,日期对象和时间戳

112 阅读2分钟

Math的数学对象API

 console.log(Math.random()); //0-1之间随机一个数  不包括1 
 console.log(Math.ceil()); //进1取整 向上
 console.log(Math.floor()); //退1取整 向下
return Math.floor(Math.random()*(max-min+1))+min;
生成a-b之间的随机数
console.log(Math.random*(b-a+1)+a);
圆周率 Math.PI
foFixed(); 括号是几就取几位小数 ,如果未设置参数 四舍五入
​
四舍五入:Math.round();
平方根:Math.sqrt(9);//3
​
幂: Math.pow(2,2); //4
            pow(3);// NaN; 非数字。
​
绝对值:Math.abs(-0.88); // 0.88// 取最大值 
        console.log(Math.max(1,2,5,3,8)); //8
        // 不能放数组  
​
        // ...扩展运算符  可以把数组展开
        var arr= [1,2,3,4,5]
        console.log(Math.max(...arr)); //5
        console.log(...arr); //123456
        console.log(arr); // [1,2,3,4,5]
​
        // 取最小值
        console.log(Math.min(...arr)); //1

用Math求最大值和最小值

var arr=[2,4,5,6,1]
var max=[0]
var min=[0]
for( var i=0; i<arr.length;i++>){
    max= Math.max(max,arr[i])
    min= Math.min(min,arr[i])
}
console.log(max,min);
​
// 扩展运算符
console.log(Math.max(...arr));
console.log(Math.min(...arr));

#随机点名

var arr = ['张太平','贾艳静','熊林强','霍鑫','张邵飞','楚春辉','刘康为','秦广旭','武冬寒','王子涵','刘志昊','刘滨','蔡金鹏','刘杰','裴琳','张志豪','燕亚虹','吴金秋','周少华','张瑞雨','申艳杰','朱文蔚','梁庆志','刘少文','吴方方','石栋梁','李凯','吕国正','张溢恩','张颖治','鄢婷婷','陶春梅','王冬梅','杨硕','邵奥宾','冯赛康','高海洋','于坦','钱深','杨照雷','王逸清','姚志铭','贾继涛',];
console.log(arr[Math.floor(Math.random()*arr.length)]);

Date日期对象API

var date = new Date();
// 创建 一个日期对象// 用下面方法之前要先创建一个日期对象// 获取年份
var year = date.getFullYear();
​
  // 获取月份 返回的是0-11 之间的数 0-11代表 1-12月份
 var month  = date.getMonth()+1;
​
// 获取 日
var day= date.getDate();
​
// 获取星期 0代表的周日 1-6代表的是周一到周六
    var week= date.getDay();
​
     console.log(year + '/'+ month + '/'+ day);
​
​
 // 获取小时数 0-23 
     var hour = date.getHours();
​
// 获取分钟数 0-59
     var minute = date.getMinutes();
​
 // 获取秒 0-59
   var seconds = date.getSeconds();
​
 // 获取毫秒数 0-999
        var milliseconds =date.getMilliseconds();
​
 // 三目运算符 条件? 如果条件满足执行:如果条件不满足执行
      console.log(`${year}/${month <10? '0'+month: month}/${day< 10? '0'+day:day}  ${hour<10? '0'+hour:hour}:${minute<10? '0'+minute:minute } `);
​
​
设置Date时间
Date.setDate...
​
// 传入字符串   如果不写时分秒 默认08:00:00
  console.log(new Date('2021-01-01 12:00:00'));
​
 //除了用-连接的日期字符串外 如果不写时分秒  默认时间是00:00:00  不识别汉字 
    console.log(new Date('2021/1/1/ 08:00:00'));

时间戳

 var date = new Date();
        // 时间戳 :指当前设置的时间距离1970年1月1日的毫秒数
        //   计算机元年 
        console.log(Date.now());
​
        // 获取设置时间的时间戳
        var date1 = new Date('2008-8-8 08:00:00');
        console.log(date1, date1.getTime(), date1.valueOf());
​
        // 时间戳差 当前时间距离2008-8-8 08:00:000的时间差
        var time =date.getTime() - date1.getTime();
        console.log(time);
​
        // 距离北京奥运会开幕式 已经过去了 x天x小时x分x秒 
        // 毫秒转秒
        var time1=time/1000;
        // 秒
        var second =time1 %60 ;
        // 分
        var minute =time1 /60%60;
        // 小时
        var hour =time1 /60/60 %24;
        // 天数
        var day = time1 /60/60/24;
        
        document.write(`距离北京奥运会已经过去了: ${parseInt(day)}${parseInt(hour)}小时${parseInt(minute)}分钟${parseInt(second)}秒  `)
​
        // 将时间戳转为标准时间
        var date2 =new Date(1218153600000)
        console.log(date2);
​

\