回顾定时器
function f1() {
console.time("time span");
}
function f2(){
console.timeEnd("time span");
}
setTimeout(f1,100);
setTimeout(f2,200);
function waitForMs(n){
var now = Date.now();
while(Date.now()-now <n){}
}
waitForMs(500)
结果打印是0.03ms 理应是100ms 本应该是100秒后开定时器 但是 要运行前面的逻辑代码 等前面的代码执行结束定时器的代码开始运行 但是已经过了100ms 所以定时器立即执行
时间对象方法
var date =Date();
console.log(date);
显示是时间Sat Jun 02 2018 14:50:16 GMT+0800 type是字符串
var date =new Date();//构建对象
console.log(typeof date);
是个对象
var date =Date();
console.log(date-new Date());
结果为0, 时间对象可以直接相减 得到的就是时间相差的毫秒数
测代码执行时间
console.time();
for(var i=0;i<1000;i++){
for(var j=0;j<1000;j++){}
}
console.timeEnd();
var date =new Date();
for(var i=0;i<1000;i++){
for(var j=0;j<1000;j++){}
}
console.log(date-new Date());
结果为-8
获取时间对象的方法
- 获取本地时间的小时
var h=date.getHours()
- 获取本地时间的分钟
var m=date.getMinutes();
- 获取秒
var S=date.getSeconds()
- 获取毫秒
var s=date.getMilliseconds()
var h=date.getHours();
var m=date.getMinutes();
var S=date.getSeconds();
var s=date.getMilliseconds();
console.log(h+"小时"+m+"分"+S+"秒"+s+"毫秒");
15小时10分25秒54毫秒
- 获取年 获取到的不是年份 获取到的是1900年到至今的年份
var year =date.getYear();
console.log(year);
结果是118
- 获取真正的年份
getFullYear()
var year =date.getFullYear();
console.log(year);
结果是2018
- 获取月份 从0~11
var month =date.getMonth();
console.log(month);
结果是5
- 获取天数
getDate()
var day =date.getDate();
console.log(day);
结果是2
- 获取星期
var day =date.getDay();
console.log(day);
结果是6
- 当前毫秒数 时间戳 从1970年计算
var _time =date.getTime();
console.log(_time);
结果1527924342974
- 输出本地时间
console.log(date.toLocaleString());
结果是2018/6/2 下午3:31:05
- 时间的年月份日
console.log(date.toLocaleDateString());
2018/6/2
- 获取本地小时分钟
console.log(date.toLocaleTimeString());
下午3:36:42
- 世界时间utc 返回时间戳 传入时间
console.log(Date.UTC(2018,6,2));//注意是Date
结果1530489600000
- 在new Date里传参数 返回一个自定义时间对象
var date2 = new Date("2017/5/5");
console.log(date2);
Fri May 05 2017 00:00:00 GMT+0800
var date2 = new Date(2018,5,5);//注意月份实际返回是6
console.log(date2);
Tue Jun 05 2018 00:00:00 GMT+0800 返回六月5号
- 如果知道中国时间 想获得世界时间 如果减的很大 那么回回到前一天
console.log(new Date(date.getTime()-8*60*60*1000));
Sat Jun 02 2018 07:52:08 GMT+0800
- 当地时间与世界时间的时差
console.log(date.getTimezoneOffset())
结果是 -480 返回是分钟 8*60
动态生成世界时间
创建节点
box.innerHTML ="<span>第一种</span>"
或者模板字符串- 数组
var dom =[
`<span>`,
`第二种`,
`</span>`
];
console.log(dom.join(""))
- 创建节点
var oSpan =document.creatElement("span");
oSpan.innerHTML ="第三中"
box.appendChild(oSpan);