前端有没有算时间差的包?

发布于 2022-09-13 00:57:05 字数 156 浏览 16 评论 0

类似于倒计时:
比如 1天 0小时 15分 前

 2天3小时30分前

moment

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梅倚清风 2022-09-20 00:57:05

按着思路来就可以了,先计算出两个时间之前相差的秒数,假设 from 的时间戳为 1628335028,to 的时间戳为 1629536684

先用 from - to = 1201656 , 即两个时间相差了 1201656 秒。

一天有 606024=86400 秒,那现在用 1201656/86400 ,并向下取余 Math.floor(1201656/86400)=13,即得出有 13 天。

现在用相差的秒数,减去 13 天的秒数,就获得了剩下的秒 1201656-13*86400=78456,还有 78456 秒,已知每小时是 60*60=3600秒,然后用同样的手法计算 Math.floor(78456/3600)=21,现在得出有 21 个小时。

然后来计算分钟,用先前减去天后剩下的秒数 78456-21*3600=2856,得到 2856,现在要计算分钟,已知每分钟是 60 秒,那就如法炮制, Math.floor(2856/60)=47,得到:分钟 47

然后计算秒数,这个就比较简单了,用刚刚剩下的 2856-47*60=36,即得到秒数 36 秒。

那么现在就算出来了 from 到 to 之间差了:13 天 21 小时 47 分 36 秒

为什么要用 Math.floor 简单的说当第一次 1201656/86400 ≈ 13.9080 天,因为我们是要用后面的小数来知道剩下有多少小时、分钟、秒,所以就向下取整,拿 13 ,然后再计算后面的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文