【发布时间】:2016-03-31 03:04:10
【问题描述】:
我想得到:
-
60s格式当sec==60(dd==0 && hh==0 && mm==0) -
1min 30s格式当sec==90(dd==0 && hh==0) - 等
我这样做了:
def sec_int2str(sec)
mm, ss = sec.divmod(60)
hh, mm = mm.divmod(60)
dd, hh = hh.divmod(24)
if dd==0 && hh==0 && mm==0
"#{ss}s"
elsif dd==0 && hh==0
"#{mm}min #{ss}s"
elsif dd==0
"#{hh}h #{mm}min #{ss}s"
else
"#{dd}d #{hh}h #{mm}min #{ss}s"
end
end
但是逻辑太复杂了。我怎样才能简单地转换?
【问题讨论】:
-
什么是
ssS、mmM? -
你确定这不是python?
-
@AndyGauge 这是在 ruby 中格式化字符串的另一种方法,试试这个
-
@sawa 输出类似
60s1min 30s
标签: ruby-on-rails ruby date time