为什么diffHours和diffMinutes都减1,而秒数diffSeconds不用?

来源:5-4 倒计时组件功能开发

修船蛆宝宝

2020-07-16

不是说12点-16点的差距是3小时59分59秒吗?为什么diffHours和diffMinutes都减1,而秒数diffSeconds不用?
图片描述

写回答

2回答

Sunday

2020-07-16

你好:

这个你可以用假设的方式来看。我们假设 endHours 为 16点00分0秒。  date 为 12点0分0秒。

那么他们之间的时间差应该是 4小时整。

16-12-1 = 3小时

60-0-1 = 59分

最后 60-0 = 60秒 。  3小时59分60秒。正好就是 4小时整。

但是实际情况中,如果活动16点开始,那么  16点00分0秒 活动就已经开始了。所以实际的计算会小 1 秒。

所以备注中写明为  3小时59分59秒。 实际代码计算时,最后一秒为0时,活动就已经开始了。

如果最后秒数 -1 ,那么也是可以的,只需要最后修改下活动开始的代码逻辑就可以了。

0
1
修船蛆宝宝
非常感谢!之前是我理解的有问题,这样说我就明白了
2020-07-16
共1条回复

Sunday

2020-07-16

你好:

我没有太明白你的意思。

不过从我的角度来看的话,我们学习的应该是组件的设计思想,和代码的实现思路。时间这里的话,我觉得可能不需要过于纠结。

0
2
Sunday
回复
修船蛆宝宝
你好: 这个你可以用假设的方式来看。我们假设 endHours 为 16点00分0秒。 date 为 12点0分0秒。 那么他们之间的时间差应该是 4小时整。 16-12-1 = 3小时 60-0-1 = 59分 最后 60-0 = 60秒 。 3小时59分60秒。正好就是 4小时整。 但是实际情况中,如果活动16点开始,那么 16点00分0秒 活动就已经开始了。所以实际的计算会小 1 秒。 所以备注中写明为 3小时59分59秒。 实际代码计算时,最后一秒为0时,活动就已经开始了。 如果最后秒数 -1 ,那么也是可以的,只需要最后修改下活动开始的代码逻辑就可以了。
2020-07-16
共2条回复

混合开发入门 Vue结合Android/iOS开发仿京东项目App

流行的混合开发实战入门,前端和原生开发同学不容错过

1108 学习 · 448 问题

查看课程