js两时间戳的时间差设置倒计时
计算两时间之差,设置倒计时。
20200614更新:babel没有把padStart编译成低版本支持的语法,所以使用parseInt(n)<10?n+'0':n
给小于10的数字添加‘0’。
/**
* 两时间差倒计时
* @param {*} t1 现在时 13位时间戳
* @param {*} t2 将来时 13位时间戳
* @return {Object}
*/
function timeDifferenceCountdown(left, right) {
if (!right) return false
let t1 = left ? (left.toString().length < 13 ? parseInt(left) * 1000 : left) : Date.parse(new Date())
let t2 = right.toString().length < 13 ? parseInt(right) * 1000 : right
let s = t2 - t1,
isExpired = false // 是否过期
if (s < 0) {
isExpired = true
s = Math.abs(s); // 绝对值
}
let s_day = 1000 * 60 * 60 * 24, // 一天的秒数
s_hour = 1000 * 60 * 60, // 一个小时秒数
s_minute = 1000 * 60, // 一个小时秒数
s_second = 1000 // 一秒钟
let day = parseInt(s / s_day)
let hours = parseInt(s % s_day / s_hour)
let minute = parseInt(s % s_day % s_hour / s_minute)
let second = parseInt(s % s_day % s_hour % s_minute / s_second)
function add0(n){
return parseInt(n)<10?'0'+n:n
}
return {
day,
hours,
minute,
second,
d: add0(day) , // day.toString().padStart(2, '0'),
h: add0(hours), // hours.toString().padStart(2, '0'),
m:add0(minute), // minute.toString().padStart(2, '0'),
s: add0(second), // second.toString().padStart(2, '0'),
isExpired
}
}
使用:
<div id="demo"></div>
;(function(){
let timer = null, countDown = null;
timer = setInterval(() => {
countDown = timeDifferenceCountdown(false, 1586192580)
var demo = document.getElementById('demo')
if(demo) {
demo.innerHTML = `${countDown.isExpired===true?'已过去':'剩余'} ${countDown.d}天${countDown.h}时${countDown.m}分${countDown.s}秒`
}
console.log("countDown", countDown)
}, 1000)
})()
转载请注明来源:《 js两时间戳的时间差设置倒计时》- rojerYong's Blog
文章链接:https://www.eoway.cn /article/1588941967.html如果此文摘取了你的原创,请联系本站管理员,将对此文修改、删除处理。
--END--
推荐
- 微信小程序打包,主包和分包都小于2m,却上传失败
- 微信公众号网页,微信jssdk需要刷新页面才可以使用
- uniapp 微信小程序背景音频播放 uni.getBackgroundAudioManager()
- uniapp 苹果授权登录
- uniapp app 跳转到微信小程序
- js常用方法
- css 变量
- uniapp 微信公众号网页 打开小程序
- 小程序分享到朋友圈时设置path的query参数,判断用户是否通过朋友圈进入小程序
- uniapp解决原生组件层级过高覆盖页面组件的问题
- js判断是否ie浏览器、ie浏览器版本
- uniapp 设置 APP 首次打开时显示“用户协议和隐私政策”弹框
- uniapp,app端打开第三方应用(高德地图、百度地图、腾讯地图,apple地图进行导航)
- uniapp,ios打开apple地图显示自定义地点信息
- 微信小程序通过map组件获取中心点高精度经纬度以及解决ios系统map组件moveToLocation无效问题
- web性能优化,使用preload和prefetch预加载资源