类似于倒计时:
比如 1天 0小时 15分 前
2天3小时30分前
moment包🈶️fromnow
的功能
但是好像只能精确到一个单位,无法同时显示天 小时 分钟
有没有这样的包?
一定要是中文的
分钟可以不精确到
谢谢大佬
类似于倒计时:
比如 1天 0小时 15分 前
2天3小时30分前
moment包🈶️fromnow
的功能
但是好像只能精确到一个单位,无法同时显示天 小时 分钟
有没有这样的包?
一定要是中文的
分钟可以不精确到
谢谢大佬
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
按着思路来就可以了,先计算出两个时间之前相差的秒数,假设 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 ,然后再计算后面的