【js 计算出 两个时间戳之间的间隔时间,再将间隔时间倒计时】现在有这样一个需求,前端 播下一个种子,后台给你返回两个时间戳,第一个是 你播种时的时间戳,第二个是 种子发芽成熟之后的时间戳。然后让你计算 种子成熟的倒计时。
JavaScript 获取当前时间戳:第一种方法:var timestamp = Date.parse(new Date());
结果:1280977330000
第二种方法:var timestamp = (new Date()).valueOf();
结果:1280977330748第三种方法:var timestamp=new Date().getTime();
结果:1280977330748第四种方法:
Date.now();
方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数。第一种:获取的时间戳是把毫秒改成000显示,
第二种和第三种是获取了当前毫秒的时间戳。
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
所以要求两个时间的间隔只需要将两个时间戳相减就能得到两个时间相差的毫秒数通过除以3600*1000得到小时数 以此类推
interval(参数一:当前的时间戳;参数二:种子成熟的时间戳)返回值: 间隔时间
function interval(faultDate,completeTime){
var stime = Date.parse(new Date(faultDate));
var etime = Date.parse(new Date(completeTime));
var usedTime = etime - stime;
//两个时间戳相差的毫秒数
var days=Math.floor(usedTime/(24*3600*1000));
//计算出小时数
var leave1=usedTime%(24*3600*1000);
//计算天数后剩余的毫秒数
var hours=Math.floor(leave1/(3600*1000));
//计算相差分钟数
var leave2=leave1%(3600*1000);
//计算小时数后剩余的毫秒数
var minutes=Math.floor(leave2/(60*1000));
var time = days + "天"+hours+"时"+minutes+"分";
return time;
}
参考自:https://blog.csdn.net/sinat_29774479/article/details/77649873
将秒 转换成 hh-mm-ss(时分秒)
timeFilter (seconds) {
var ss = parseInt(seconds)// 秒
var mm = 0// 分
var hh = 0// 小时
if (ss > 60) {
mm = parseInt(ss / 60)
ss = parseInt(ss % 60)
}
if (mm > 60) {
hh = parseInt(mm / 60)
mm = parseInt(mm % 60)
}
var result = ('00' + parseInt(ss)).slice(-2)
if (mm > 0) {
result = ('00' + parseInt(mm)).slice(-2) + ':' + result
} else {
result = '00:' + result
}
if (hh > 0) {
result = ('00' + parseInt(hh)).slice(-2) + ':' + result
}
return result
}
推荐阅读
- 操作系统|[译]从内部了解现代浏览器(1)
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- vue.js|vue中使用axios封装成request使用
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- JavaScript|JavaScript之DOM增删改查(重点)
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- javascript|javascript中的数据类型转换