(5) 日期倒计时计算 countdown
一、实现代码
函数封装:
/* countdown.js */
/*** 输入一个时间,自动计算与当前时间的时间差,可返回剩余天数、小时数、分钟数、秒数、毫秒数,或全部最佳时间集合。* @param {String} planTimeStr 设定需计算的时间(格式:2021-09-23T18:32:00)* @param {String} type 需要计算得到的数据。(type = "a" | "d" | "h" | "m" | "s" | "ms")* @returns {Object} 返回对应的数据*/
export default function countdown(planTimeStr, type = "a") {const planTime = new Date(planTimeStr).getTime();const nowTime = new Date().getTime();let diffTime, isExpire, result;isExpire = nowTime > planTime ? true : false;diffTime = isExpire ? nowTime - planTime : planTime - nowTime;switch (type) {case "d": {result = { d: floor(diffTime / 86400000), isExpire };break;}case "h": {result = { h: floor(diffTime / 3600000), isExpire };break;}case "m": {result = { m: floor(diffTime / 60000), isExpire };break;}case "s": {result = { s: floor(diffTime / 1000), isExpire };break;}case "ms": {result = { ms: diffTime, isExpire };break;}case "a": {}default: {let d, h, m, s, ms;d = floor(diffTime / 86400000);h = floor((diffTime - d * 86400000) / 3600000);m = floor((diffTime - d * 86400000 - h * 3600000) / 60000);s = floor((diffTime - d * 86400000 - h * 3600000 - m * 60000) / 1000);ms = floor(diffTime - d * 86400000 - h * 3600000 - m * 60000 - s * 1000);result = {d,h,m,s,ms,isExpire,};}}return result;
}function floor(num) {return Math.floor(num);
}
二、原理分析
实现原理:通过将用户指定时间的时间戳和当前时间的时间戳相减后,将结果按照毫秒的换算比例转换即可。
描述方法:
- new Date()「方法」获得当前时间。
- getTime() 「方法」将日期时间转换成时间戳。
- Math.floor()「方法」将指定数值向下取整。
最后,如果您有更好的方法,欢迎在留言区中分享;或者实际操作中遇到什么问题均可留言或者私信我,感谢您的观看!
(5) 日期倒计时计算 countdown相关推荐
- vue3封装时间计算-日期倒计时组件——还有XX天 第XX天
vue3封装时间计算-日期倒计时组件--还有XX天 & 第XX天 & 年月日时分秒星期几方法的封装 & setup语法糖完整用法之reactive, ref, onMounte ...
- xe-utils 计算:年份、月份、周、天、每月天数、月的第几周、年的第几天、年的第几周、日期倒计时、日期至今差距计算、任意日期格式化
使用 xe-utils 可以非常简单的处理任意日期之间的转换: 时区转换.年份.月份.周.天.每月天数.月的第几周.年的第几天.年的第几周.日期倒计时.任意日期格式化 查看 Github js日期转换 ...
- Android 日期倒计时
实现抢票或者秒杀之类的倒计时效果,可更改倒计时格式,需求:1天5小时8分钟22秒这种,完美解决手机息屏计时不准的问题(用wekLock) 本文章借鉴于Android定时器-做天数时间倒计时 wakeL ...
- 手机日期倒计时工具有哪些?
在日常的生活和工作中,我们经常会遇到一些重要的日子,比如说重要的会议.生日.纪念日.考试等等.这些日子对于我们来说是特殊且重要的,所以很多人都希望能够提前做好准备,避免错过或忘记.那么有没有一款可以帮 ...
- vue,javascript实现页面日期倒计时功能
日期倒计时在日常项目中还是比较常用的,活动.自动完成时间,拼团等场景比较常见,所以把自己项目中用到分享一下,具体看下方源码: 代码比较简化,方便大家参考使用: /*** 日期倒计时* @param d ...
- python datetime计算时间差_Python中关于日期的计算总结
1.获取当前时间的两种方法: 代码如下: 2.获取上个月最后一天的日期(本月的第一天减去1天) 代码如下: 3.获取时间差(时间差单位为秒,常用于计算程序运行的时间) 代码如下: 4.计算当前时间向后 ...
- localdate计算相差天数_还在苦恼MySQL如何根据日期精确计算年龄?看这一篇,就够了
转译自 How To Calculate Age From Date Of Birth In MySQL- Querychat. 中文转载,请注明出处. 使用SQL语句计算年龄,在事务处理和日期计算中 ...
- java中日期计算时间差,java中依据,两个日期,计算时间差
java中根据,两个日期,计算时间差. 分别获取两个时间的毫秒数Date.getTime(),相减,得到的值/1000为秒数,/60*1000为分钟数,/60*60*1000为小时数. /** * 计 ...
- vant toast loading 倒计时_日期倒计时软件哪个好 苹果日期倒计时软件推荐
日期倒计时软件哪个好,相信大家也是经常会查看日期,来保证一些重要的事情能够按时进行,那么哪一款日期倒计时软件比较好用,能够提醒用户们日期将至呢.这里就为大家推荐几款. 日期倒计时软件哪个好 1.Day ...
最新文章
- android2.2编译,Android NDK编译Box2D_V2.2
- GPSD架构介绍及交叉编译和使用
- Elasticsearch之配置详解
- Elasticsearch--高级-映射mapping_添加行的字段映射---全文检索引擎ElasticSearch工作笔记018
- uni-app两种方法解决跨域问题【已验证】
- SET NOCOUNT
- ideal_lp.m、freqz_m.m、freqz_m2.m
- 激光雷达原理及发展现状
- 拼多多软件测试开发,拼多多事件对我们业务测试的启发
- P卡、worldfirst、连连跨境电商收款哪家好?
- torch.Generator 随机数生成器
- 拥抱趋势,蓄能跃迁——2018慧点科技企业协同及治理创新论坛圆满举行
- 【初学python】实例七:七段数码管绘制
- SPICE、IBIS等几种PCB信号完整性分析模型分析
- remote couldn‘t create file: Read-only file system (remount failed)解决方法
- 常见网络摄像机(摄像头)的端口及RTSP地址
- 【Postgresql】pg_show_plans插件
- csgo跑图文件_[CSGO]Neko社区:跑图服务器简易使用指南
- Linux解决syntax error near unexpected token`问题
- 超导磁通量子计算机,超导磁通量子比特低频磁通噪声的测量