Web前端最新javascript 内置对象Date总结及案例(3),2024Web前端最新大厂面试真题总结

分享

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

格式化时间


可以从上图看到返回的时间格式 Sun May 06 2018 00:00:00 GMT+0800 (中国标准时间) 不符合我们中国人的表示习惯

所以我们需要获取日期的指定部分,然后进行日期格式化。

| 方法名 | 说明 | 代码 |

| — | — | — |

| getFullYear() | 获取当年 | Obj.getFullYear() |

| getMonth() | 获取当月,返回0 -11 | Obj.getMonth() |

| getDate() | 获取当天日期 | Obj.getDate() |

| getDay() | 获取星期几(周日0 到 周六6) | Obj.getDay() |

| getHours() | 获取当前小时 | Obj.getHours() |

| getMinutes() | 获取当前分钟 | Obj.getMinutes() |

| getSeconds() | 获取当前秒钟 | Obj.getSeconds() |

1.格式化日期 - 年,月,日

//格式化日期- 年,月,日

var date = new Date(); // 实例化一个日期对象

var year = date.getFullYear(); // 返回当前日期年份

var month = date.getMonth() + 1; //返回的是0-11,分别对应1-12月,所以接果+1才是正确的月数

year = year < 10? ‘0’ + year: year ;

var dates = date.getDate(); // 返回几号

dates = dates < 10? ‘0’ + dates: dates ;

var day = date.getDay(); //返回的是0-6,分别对应星期天-星期六

var day_arr = [‘星期天’,‘星期一’,‘星期二’,‘星期三’,‘星期四’,‘星期五’,‘星期六’,]

console.log(‘今天是:’+ year + ‘年’ + month + ‘月’ + dates + ‘日’ + day_arr[day]);

在这里插入图片描述

2.格式化时,分,秒

function getTime(){

var time = new Date();

var h = time.getHours();

h = h < 10? ‘0’ + h: h;

var m = time.getMinutes();

m = m < 10? ‘0’ + m: m;

var s = time.getSeconds();

s = s < 10? ‘0’ + s: s;

return h + ‘:’ + m + ‘:’ + s ;

}

console.log(getTime());

在这里插入图片描述

获取Date总的毫秒数(时间戳)


我们时常可以看到时间戳,那么他是怎么来的呢?

其实时间戳表示的是从1970年1月1号到当前时间的总的毫秒数。

至于为什么是1970年的这个时间,感兴趣的可以百度看看,十分有趣。

在我们javascript中获取时间戳有三种方法。

//获取Date总的毫秒数(时间戳) ,是从1970年1月1号到当前的总的毫秒数 至于为什么是这个时间,感兴趣的可以百度看看,十分有趣

//1.通过 valueOf() 或者 getTime() 方法

var date = new Date();

console.log(date.valueOf()); //得到的是我们当前时间距离1970 1.1的总的毫秒数

console.log(date.getTime());

//2.简单的写法(最常用的写法)

var date = +new Date();

console.log(date);

//3.H5 新增的,ie9以下不适用

console.log(Date.now());

在这里插入图片描述

案例-网页倒计时核心算法(重要)

1)核心算法:输入的时间减去现在的时问就是利余的时问,即倒计时,但是不能拿着时分秒相减,比如05分减去25分,结果会是负数的。

2)用时间载来做。用户输入时间总的老秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数。

3)把剩余时间总的毫秒数化为秒然后转换为天、时、分、秒(时间转换为时分秒)

转换公式下:

d = parselnt (总秒数/60/60/24);        计算天数

h = parselnt (总秒数/60/60%24);        计算小时

m = parselnt (总秒数/60%60);        计算分数

s = parselnt (总秒数%60);        计算当前秒数

//网页倒计时核心算法

function countTime(time){

var newTime = +new Date(); //获取当前总的毫秒数(时间戳)

var inputTime = +new Date(time); // 得到指定时间的时间戳

var times = (inputTime - newTime) / 1000; // 剩余时间的秒数

var d = parseInt(times / 60 / 60 / 24); // 天数 ,取整

d = d<10 ? ‘0’+d : d; // 补零

var h = parseInt(times / 60 / 60 % 24); // 时

分享

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2024年的Web前端面试中,面试官可能会关注一系列的技能和概念,包括但不限于HTML、CSS、JavaScript前端框架(如React、Vue、Angular)、性能优化、响应式设计、浏览器兼容性、模块化和打包工具(Webpack、Rollup)、API交互、前端测试(如Jest、Mocha)、SEO、以及最近流行的技术趋势如WebAssembly、PWA(Progressive Web App)和GraphQL等。 具体的问题可能涵盖: 1. HTML5新特性的理解和使用,比如语义化的标签和表单控制。 2. CSS3样式和布局技巧,如Flexbox和Grid的使用。 3. JavaScript ES6+的新特性,比如箭头函数、模板字面量、Promise和Async/Await等。 4. 面向前端开发的JavaScript库和框架的最佳实践,如组件化开发和状态管理。 5. 了解并评价不同前端框架的核心思想和适用场景。 6. 浏览器渲染原理和性能优化策略,如懒加载、预渲染、缓存优化等。 7. 对跨域、同源策略和HTTPS的理解,以及处理JSONP或CORS的方法。 8. Webpack或Rollup的工作原理,以及如何配置它们来处理模块和打包。 9. 如何设计和实现可复用、可测试的前端代码结构。 10. 对现代前端测试的认识,包括单元测试、集成测试和端到端测试。 11. Web性能优化案例分享,如减少HTTP请求、压缩资源、CDN使用等。 12. 了解基本的SEO优化原则,如元标签、索引优化等。 13. 对现代前端架构,如服务端渲染、单页应用(SPA)和微前端的理解。 14. 最新前端技术动态,例如WebAssembly如何提升性能,PWA如何提供离线体验,以及GraphQL如何改进API设计。 如果你想深入了解前端面试题,建议关注权威技术博客、参加在线课程和模拟面试练习,不断更新自己的知识库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值