废话不多说直接上代码

<script>
export default {
data() {
return {
downTimeShow: true,
timer: null,
downTime: '',
nowTime: '',
          orderList:[
            {addTime:'2023.03.27 13:55'},
            {addTime:'2023.03.27 11:16'},
],

}
},
//在挂载时启动定时器
mounted() {
let that = this;
this.timer = setInterval(() => {
that.nowTime = new Date().getTime()
this.operaDownTime()
}, 1000);
},
//实例销毁之前清除定时器
beforeDestroy() {
if (this.timer) {
clearInterval(this.timer);
}
},
created() { },
methods: {
//处理倒计时
operaDownTime() {
var ndate = new Date()
this.orderList.forEach((item, index) => {
// 对列表每一项的addtime转成时间戳并用当前时间戳减去addtime时间戳,得到时间差。
// 若是时间差大于15分钟,则不显示剩余时间,小于15分钟则显示。
item.downTimeShow = false
// item的年月日
var dd = new Date(item.addTime)
var ddYear = dd.getFullYear()
var ddMonth = dd.getMonth() + 1
var ddDay = dd.getDate()
// 当前年月日
var td = new Date()
var year = td.getFullYear()
var month = td.getMonth() + 1
var day = td.getDate()
// 当年当月当日
if(year - ddYear === 0 && ddMonth - month === 0 && ddDay-day === 0){
item.downTime = this.nowTime - dd.getTime()
var minutes = (item.downTime % (1000 * 60 * 60)) / (1000 * 60)
var secondes = (item.downTime % (1000 * 60)) / (1000)
// 限制15分钟
var limitMinutes = (900000 % (1000 * 60 * 60)) / (1000 * 60)
// 剩余时间
var remainMinutes = limitMinutes - minutes
var remainSecondes = 60 - secondes
// 向下取整 如果分小于0则表示倒计时已结束 关闭展示倒计时
if (Number(Math.floor(remainMinutes)) < 0) {
item.downTimeShow = false
} else {
item.downTimeShow = true
item.downTime = Math.floor(remainMinutes) + ':' + Math.floor(remainSecondes) + ''
}
}
})
}
}
}
</script>

Vue根据时间戳制作倒计时15分钟的更多相关文章

  1. Vue 页面15分钟无操作时返回首页

    这种需求手机端和pc端一般是不存在的,因为都是可以手动操作刷新的. 最近在做一个户外社区大屏的项目,因为大屏是全屏显示,没法手动刷新,不可能在页面专门做一个刷新按钮,也不好看,那这样的需求就显得格外重 ...

  2. mysql查超过15分钟未付款的订单,更新为失效状态

    个人打开自己的订单时,才检查超过15分钟未付款的订单, 暂不使用机器人,更新状态, Difference counter 差分计数器订单超过15分钟.mysql的时间戳差分比较 $sql =  TIM ...

  3. 时间戳显示为多少分钟前,多少天前的JS处理

    /* ** 时间戳显示为多少分钟前,多少天前的处理 ** eg. ** console.log(dateDiff(1411111111111)); // 2014年09月19日 ** console. ...

  4. Vue -- filters 过滤器、倒计时效果

    局部过滤器 时间.***号 <div id="wrapper" class="wrapper" style="display: none;&qu ...

  5. 15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码)

    15分钟带你了解前端工程师必知的javascript设计模式(附详细思维导图和源码) 前言 设计模式是一个程序员进阶高级的必备技巧,也是评判一个工程师工作经验和能力的试金石.设计模式是程序员多年工作经 ...

  6. 获取当前时间UTC时间的下一个15分钟时间点

    ZonedDateTime zdt = ZonedDateTime.now(ZoneOffset.UTC); int now15Minute = zdt.getMinute() / P15MINUTE ...

  7. 15分钟学会使用Git和远程代码库

    git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

  8. Bash脚本15分钟进阶教程

    转载: Bash脚本15分钟进阶教程 这里的技术技巧最初是来自谷歌的"Testing on the Toilet" (TOTT).这里是一个修订和扩增版本. 脚本安全 我的所有ba ...

  9. 15分钟理解HTTPS——通俗篇

    | 导语 它很深奥吗?你肯定常常见过它,使用它,甚至离不开它... 它很浅显吗?你可能觉得看透它,理解它,甚至懂它... 让我们用15分钟,不那么学术地将它的深挖到底~ 什么?如何证明我是我?本文要上 ...

  10. 使用vue全家桶制作博客网站

    前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...

随机推荐

  1. 《MySQL是怎样运行的》第八章小结

  2. Java笔记第十一弹

    TCP通信程序 TCP发送数据 //需要进行三次握手 import java.io.*; public class Main{ public static void main(String[] arg ...

  3. ASP.NET Core - 选型系统之选型配置

    1. 选项 前面讲完了.NET Core 下的配置系统,我们可以通过 IConfiguration 服务从各种来源的配置中读取到配置信息,但是每次要用的时候都通过 Iconfiguration 读取配 ...

  4. ChatGPT对于滤除微多普勒运动目标的解决方案

    上一篇体验了一把GPT的真香定律,赶紧又问了一些同事问的如何滤除微多普勒目标的问题.感觉还可以,后面可以试试看,具体大家可以一起看看这个回答,还是有一些可以采纳的意见(文章内容为GPT回答的内容,可能 ...

  5. 【Jenkins】linux与windows环境下的安装步骤

    linux环境: <1>安装jdk: https://www.cnblogs.com/poloyy/p/12801792.htmljdk (参考) <2>环境清理 find / ...

  6. 跨域解决方案CORS

    这里说的 js 跨域是指通过 js 在不同的域之间进行数据传输或通信,例如通过 ajax 向一个不同的域请求数据,或者通过 js 获取页面中不同域中(iframe)的数据.只要协议.域名.端口有任何一 ...

  7. 南昌航空大学-软件学院-22206104-段清如-JAVA第一次Blog作业

    南昌航空大学-软件学院-22206104-段清如-JAVA第一次Blog作业 前言: 这个学期才开始接触java,到现在一个多月的时间,已经差不多可以写出一些基本的简单的程序了.对比上个学期学习的C语 ...

  8. selenium验证码处理之机器学习(光学识别ocr技术获取验证码的数据)

    ocr识别库地址: https://github.com/UB-Mannheim/tesseract/wiki 遇到的问题:百度的解释------------------- 遇到的问题2:

  9. 二进制安装Kubernetes(k8s) v1.23.7 IPv4/IPv6双栈

    二进制安装Kubernetes(k8s) v1.23.7 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 后续尽可能第一时间更新 ...

  10. [SVN]SVN checkout 功能不可用 右键只看到提交和更新,没有显示checkout[转载]

    不要在受SVN控制的文件夹里点右键,因为这个文件夹已经在SVN控制之下,当然不会允许在里面嵌套另一个SVN版本库 换个不受控的文件夹点右键,比如: D盘根目录 X 参考文献 SVN checkout ...