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!