2022年的春节是2022年02月01日;请写一段代码;算出现在距离春节还有多少天,多少小时,多少分,多少秒;

🌙
手机阅读
本文目录结构

问题

2022年的春节是2022年02月01日;

请写一段代码;算出现在距离春节还有多少天,多少小时,多少分,多少秒;

核心

getTime()方法可返回距1970年1月1日之间的毫秒数。

Math.floor(x)返回小于等于数字参数x的最大整数,对数字进行下舍入。

代码

function zero (val) {
  return Number(val) < 10 ? ('0' + val) : val
};
  
function fn () {
  var date1 = new Date();
  // var date2 = new Date(2022, 1, 1, 0, 0, 0);//传参的时候,传入的是(2022,1)而不是(2022,2...)
  var date2 = new Date("2022/02/01 0:0:0");//这样传入是没有问题的,不需要改
  var minutesVal = 60 * 1000;

  var dateValue = date2.getTime() - date1.getTime();
  var days = Math.floor(dateValue / (24 * 60 * minutesVal));

  var hoursValue = dateValue % (24 * 60 * minutesVal);
  var hours = Math.floor(hoursValue / (60 * minutesVal));

  var minutesValue = hoursValue % (60 * minutesVal);
  var minutes = Math.floor(minutesValue / minutesVal);

  var secondValue = minutesValue % (minutesVal);
  var second = Math.floor(secondValue / 1000);

  return {
    days: days,
    hours: zero(hours),
    minutes: zero(minutes),
    second: zero(second)
  }
}
var diffTime = fn();
var str = `相差 ${diffTime.days}${diffTime.hours}小时 ${diffTime.minutes}${diffTime.second}秒`;
console.log(str);
// document.write(str);

演示

注意:

如果使用 2016-01-25 请使用 2016/01/25 ;

因为IE678下不兼容的;需要把-改成/才好; new Date("2016/01/25 16:59:59")

更多面试题

如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。

面试题
HTML CSS JavaScript
jQuery Vue.js React
算法 HTTP Babel
BootStrap Electron Gulp
Node.js 前端经验相关 前端综合
Webpack 微信小程序 -

这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了