阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

    教程列表

    数据库
    抓包专区
    测试专区

    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!

    卖前端学习教程

    只需几十元,就能买到培训班的内部教程!开启高薪之路!

    零基础小白阿里P7的教程都有!

    同时长期收购所有培训班的前端教程

    目录
    目录