请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

正在回答

2回答

你好:

这个你可以用假设的方式来看。我们假设 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 15:55:03
Sunday 2020-07-16 10:49:27

你好:

我没有太明白你的意思。

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

0 回复 有任何疑惑可以回复我~
  • 提问者 修船蛆宝宝 #1
    我修改了下问题描述,老师麻烦看下,谢谢。
    回复 有任何疑惑可以回复我~ 2020-07-16 12:56:27
  • Sunday 回复 提问者 修船蛆宝宝 #2
    你好:
    
    这个你可以用假设的方式来看。我们假设 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 15:53:18
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信