解释时间转换为分钟和小时

时间:2017-02-14 23:49:26

标签: ruby time

有人可以向我解释一下它是如何工作的吗?




  while minutes> = 60 ...
  




Ruby如何知道有多少小时?




  def time_conversion(分钟)&# XA;小时= 0

而分钟> = 60
小时=小时+ 1
分钟=分钟 -  60
端
返回时间
结束
  



2 个答案:

答案 0 :(得分:2)

嗯,请看几个例子。

如果minutes为125,则应返回多少小时? 125 - 60 - 60 = 5。那里有两个60,所以两个小时。

如果minutes为65,应返回多少小时? 65 - 60 = 5。只有一个60,所以一个小时。

Ruby代码执行相同的操作,计算它可以减去60的次数,直到它不再减去为止(即,减去另外60将导致负数)。它使用while循环执行此操作。

while循环中的两行:

hours = hours + 1
minutes = minutes - 60

更新hoursminutes变量,就像我们在示例中所做的那样。当minutes小于60时,我们会停止并返回我们计算的总小时数。

答案 1 :(得分:0)

这个简单的方法怎么样:

def time_conversion(minutes)
  hours = (minutes/60 % 60)
  return hours
end

> time_conversion(125)
#=> 2 
> time_conversion(165)
#=> 2 

现在让我们将其转换为 "HH:MM"

def time_conversion(minutes)
  hh_mm = [minutes / 60 % 60, minutes % 60].map { |t| t.to_s.rjust(2,'0') }.join(':')
  return hh_mm
end

>  time_conversion(125)
#=> "02:05" 
>  time_conversion(165)
#=> "02:45"