说完需要3分45秒才能完成任务。如何将时间量转换为秒?
我会表示为3:45。
但我需要做的是,假设我给3:45
,将其转换成花的秒数。
所以给出3:45
的时候,我想将其转换成225
。
这需要使用Ruby 1.8.7。
说完需要3分45秒才能完成任务。如何将时间量转换为秒?
我会表示为3:45。
但我需要做的是,假设我给3:45
,将其转换成花的秒数。
所以给出3:45
的时候,我想将其转换成225
。
这需要使用Ruby 1.8.7。
+1,更好的主意(和良好的创业板启动,这和慢性手柄我大部分的时间需要)。 – 2012-01-13 19:32:37
pry(main)> a = "3:45".split(":")
=> ["3", "45"]
pry(main)> a[0].to_i*60 + a[1].to_i
=> 225
(在方法包裹起来,当然)。
使用它,你如何考虑可能包含一个小时('1:37:49')?有时候会在那里,其他时间不会。 – Shpigford 2012-01-13 19:27:16
@Shpigford检查数组长度。但我与乔尔和艾米丽 - 我们有理由零手工做到这一点。 – 2012-01-13 19:31:25
我会小心这里重新发明轮子。虽然您可能会认为只有几分钟和几秒钟的时间,并且您始终使用相同的格式,但更强健一些的话会更安全。
退房chronic_duration,解析经过时间的宝石。
def time_to_seconds(str)
time_in = []
time_in = str.split(":").reverse
asec = 0
secs = [1, 60, 60*60, 60*60*24]
time_in.size.times do {|i|
asec += secs[i].to_i * time_in[i].to_i
end
sec
end
class String
def to_secs
split(':').reverse.zip([1, 60, 60*60]).inject(0) { |m, e| m += e[0].to_i * e[1] }
end
end
puts '3:45'.to_secs # 225
puts '1:03:45'.to_secs # 3825
+1我喜欢它,除了猴子补丁部分;) – fresskoma 2012-07-28 20:38:13
我会用乘法。几小时呢? – 2012-01-13 19:21:29